{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Build Earthquake Catalog\n",
    "\n",
    "In this final notebook, we read the matched-filter database, remove the multiple detections and write a clean earthquake catalog in a csv file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "n_CPUs = 12\n",
    "os.environ[\"OMP_NUM_THREADS\"] = str(n_CPUs)\n",
    "\n",
    "import BPMF\n",
    "import glob\n",
    "import h5py as h5\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import sys\n",
    "\n",
    "from BPMF.data_reader_examples import data_reader_mseed\n",
    "from tqdm import tqdm\n",
    "from time import time as give_time\n",
    "\n",
    "\n",
    "pd.set_option('display.width', 1000)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# PROGRAM PARAMETERS\n",
    "NETWORK_FILENAME = \"network.csv\"\n",
    "TEMPLATE_DB = \"template_db\"\n",
    "MATCHED_FILTER_DB = \"matched_filter_db\"\n",
    "OUTPUT_CSV_FILENAME = \"final_catalog.csv\"\n",
    "OUTPUT_DB_FILENAME = \"final_catalog.h5\"\n",
    "BACKPROJ_DB_FILENAME = \"reloc_bp.h5\"\n",
    "CHECK_SUMMARY_FILE = False\n",
    "PATH_MF = os.path.join(BPMF.cfg.OUTPUT_PATH, MATCHED_FILTER_DB)\n",
    "DATA_FOLDER = \"preprocessed_2_12\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# read network metadata\n",
    "net = BPMF.dataset.Network(NETWORK_FILENAME)\n",
    "net.read()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Read the detected events' metadata for each template"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Reading catalog: 100%|██████████| 13/13 [00:01<00:00, 11.14it/s]\n"
     ]
    }
   ],
   "source": [
    "# template filenames\n",
    "template_filenames = glob.glob(os.path.join(BPMF.cfg.OUTPUT_PATH, TEMPLATE_DB, \"template*\"))\n",
    "template_filenames.sort()\n",
    "\n",
    "# initialize the template group\n",
    "template_group = BPMF.dataset.TemplateGroup.read_from_files(template_filenames, net)\n",
    "template_group.read_catalog(\n",
    "    extra_attributes=[\"cc\"],\n",
    "    progress=True,\n",
    "    db_path=PATH_MF,\n",
    "    check_summary_file=CHECK_SUMMARY_FILE,\n",
    ")\n",
    "# sometimes, tid is not cast to the correct dtype\n",
    "template_group.catalog.catalog[\"tid\"] = template_group.catalog.catalog[\"tid\"].astype(\"int32\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `BPMF.dataset.TemplateGroup` now has a `catalog` attribute, which is a `BPMF.dataset.Catalog` instance."
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Remove the multiple detections\n",
    "\n",
    "Remove multiple detections with the `TemplateGroup.remove_multiples` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# DISTANCE_CRITERION_KM: Distance, in km, between two detected events (within uncertainties) below which \n",
    "#                        detected events are investigated for equality.\n",
    "DISTANCE_CRITERION_KM = 15.0\n",
    "# DT_CRITERION_SEC: Inter-event time, in seconds, between two detected events below which\n",
    "#                   detected events are investigated for redundancy.\n",
    "DT_CRITERION_SEC = 4.0\n",
    "# SIMILARITY_CRITERION: Inter-template correlation coefficient below which detected events are investigated for equality.\n",
    "SIMILARITY_CRITERION = 0.10\n",
    "# N_CLOSEST_STATIONS: When computing the inter-template correlation coefficient, use the N_CLOSEST_STATIONS closest stations\n",
    "#                     of a given pair of templates. This parameter is relevant for studies with large seismic networks.\n",
    "N_CLOSEST_STATIONS = 10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# we need to read the waveforms first\n",
    "template_group.read_waveforms()\n",
    "template_group.normalize(method=\"rms\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/ebeauce/software/Seismic_BPMF/BPMF/dataset.py:4575: RuntimeWarning: invalid value encountered in divide\n",
      "  unit_direction /= np.sqrt(np.sum(unit_direction**2, axis=1))[\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "False ../BPMF_outputs/template_db/intertp_cc.h5 False\n",
      "Computing the similarity matrix...\n",
      "Computing the inter-template directional errors...\n",
      "Saving inter-tp CC to ../BPMF_outputs/template_db/intertp_cc.h5\n",
      "Searching for events detected by multiple templates\n",
      "All events occurring within 4.0 sec, with uncertainty ellipsoids closer than 15.0 km will and inter-template CC larger than 0.10 be considered the same\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Removing multiples: 100%|██████████| 196/196 [00:00<00:00, 3453.44it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.06s to flag the multiples\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "template_group.remove_multiples(\n",
    "    n_closest_stations=N_CLOSEST_STATIONS,\n",
    "    dt_criterion=DT_CRITERION_SEC,\n",
    "    distance_criterion=DISTANCE_CRITERION_KM,\n",
    "    similarity_criterion=SIMILARITY_CRITERION,\n",
    "    progress=True,\n",
    ")\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The catalog now has three new columns: `origin_time_sec` (a timestamp of `origin_time` in seconds), `interevent_time_sec` (template-wise computation), `unique_event`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>origin_time</th>\n",
       "      <th>cc</th>\n",
       "      <th>tid</th>\n",
       "      <th>return_time</th>\n",
       "      <th>origin_time_sec</th>\n",
       "      <th>interevent_time_sec</th>\n",
       "      <th>unique_event</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>event_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2.0</th>\n",
       "      <td>30.210000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 00:20:46.080</td>\n",
       "      <td>0.355306</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343262e+09</td>\n",
       "      <td>0.00</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.0</th>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 00:58:10.640</td>\n",
       "      <td>0.271688</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>2244.56</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 00:58:11.000</td>\n",
       "      <td>0.321159</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.36</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.0</th>\n",
       "      <td>30.330000</td>\n",
       "      <td>40.700000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 00:58:11.080</td>\n",
       "      <td>0.309295</td>\n",
       "      <td>3</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.08</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6.0</th>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 00:58:11.080</td>\n",
       "      <td>0.226411</td>\n",
       "      <td>6</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.00</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10.0</th>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 00:58:11.120</td>\n",
       "      <td>0.342251</td>\n",
       "      <td>10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.04</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.1</th>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 00:58:16.160</td>\n",
       "      <td>0.307403</td>\n",
       "      <td>0</td>\n",
       "      <td>5.52</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>5.04</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.1</th>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 00:58:16.520</td>\n",
       "      <td>0.262917</td>\n",
       "      <td>1</td>\n",
       "      <td>5.52</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.36</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6.1</th>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 00:58:16.640</td>\n",
       "      <td>0.195023</td>\n",
       "      <td>6</td>\n",
       "      <td>5.56</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.12</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10.1</th>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 00:58:16.680</td>\n",
       "      <td>0.268669</td>\n",
       "      <td>10</td>\n",
       "      <td>5.56</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.04</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          longitude   latitude      depth             origin_time        cc  tid  return_time  origin_time_sec  interevent_time_sec  unique_event\n",
       "event_id                                                                                                                                         \n",
       "2.0       30.210000  40.600000  -1.500000 2012-07-26 00:20:46.080  0.355306    2          NaN     1.343262e+09                 0.00          True\n",
       "0.0       30.323047  40.731250  12.015625 2012-07-26 00:58:10.640  0.271688    0          NaN     1.343264e+09              2244.56         False\n",
       "1.0       30.343555  40.716875   9.273438 2012-07-26 00:58:11.000  0.321159    1          NaN     1.343264e+09                 0.36         False\n",
       "3.0       30.330000  40.700000  -1.500000 2012-07-26 00:58:11.080  0.309295    3          NaN     1.343264e+09                 0.08         False\n",
       "6.0       30.335742  40.720625   8.867188 2012-07-26 00:58:11.080  0.226411    6          NaN     1.343264e+09                 0.00         False\n",
       "10.0      30.337695  40.716875   8.867188 2012-07-26 00:58:11.120  0.342251   10          NaN     1.343264e+09                 0.04          True\n",
       "0.1       30.323047  40.731250  12.015625 2012-07-26 00:58:16.160  0.307403    0         5.52     1.343264e+09                 5.04          True\n",
       "1.1       30.343555  40.716875   9.273438 2012-07-26 00:58:16.520  0.262917    1         5.52     1.343264e+09                 0.36         False\n",
       "6.1       30.335742  40.720625   8.867188 2012-07-26 00:58:16.640  0.195023    6         5.56     1.343264e+09                 0.12         False\n",
       "10.1      30.337695  40.716875   8.867188 2012-07-26 00:58:16.680  0.268669   10         5.56     1.343264e+09                 0.04         False"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "template_group.catalog.catalog.head(10)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The final catalog is made of the unique events only."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "template_group.catalog.catalog = template_group.catalog.catalog[template_group.catalog.catalog[\"unique_event\"]]\n",
    "initial_catalog = template_group.catalog.catalog.copy()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's add the location uncertainties from the template events."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Class instance does not have a `cov_mat` attribute.\n"
     ]
    }
   ],
   "source": [
    "for tp in template_group.templates:\n",
    "    tid = tp.tid\n",
    "    selection = template_group.catalog.catalog[\"tid\"] == tid\n",
    "    template_group.catalog.catalog.loc[selection, \"hmax_unc\"] = tp.hmax_unc\n",
    "    template_group.catalog.catalog.loc[selection, \"hmin_unc\"] = tp.hmin_unc\n",
    "    template_group.catalog.catalog.loc[selection, \"az_hmax_unc\"] = tp.az_hmax_unc\n",
    "    template_group.catalog.catalog.loc[selection, \"vmax_unc\"] = tp.vmax_unc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "There are 63 events in our template matching catalog!\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>origin_time</th>\n",
       "      <th>cc</th>\n",
       "      <th>tid</th>\n",
       "      <th>return_time</th>\n",
       "      <th>origin_time_sec</th>\n",
       "      <th>interevent_time_sec</th>\n",
       "      <th>unique_event</th>\n",
       "      <th>hmax_unc</th>\n",
       "      <th>hmin_unc</th>\n",
       "      <th>az_hmax_unc</th>\n",
       "      <th>vmax_unc</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>event_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2.0</th>\n",
       "      <td>30.210000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 00:20:46.080</td>\n",
       "      <td>0.355306</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343262e+09</td>\n",
       "      <td>0.00</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10.0</th>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 00:58:11.120</td>\n",
       "      <td>0.342251</td>\n",
       "      <td>10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.04</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.1</th>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 00:58:16.160</td>\n",
       "      <td>0.307403</td>\n",
       "      <td>0</td>\n",
       "      <td>5.52</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>5.04</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.2</th>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:02:52.920</td>\n",
       "      <td>0.283410</td>\n",
       "      <td>0</td>\n",
       "      <td>276.76</td>\n",
       "      <td>1.343265e+09</td>\n",
       "      <td>276.24</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1.3</th>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 01:03:46.920</td>\n",
       "      <td>0.403296</td>\n",
       "      <td>1</td>\n",
       "      <td>53.64</td>\n",
       "      <td>1.343265e+09</td>\n",
       "      <td>0.36</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5.13</th>\n",
       "      <td>30.339648</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 14:49:28.560</td>\n",
       "      <td>0.231381</td>\n",
       "      <td>5</td>\n",
       "      <td>638.00</td>\n",
       "      <td>1.343314e+09</td>\n",
       "      <td>636.20</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11.0</th>\n",
       "      <td>30.326221</td>\n",
       "      <td>40.600156</td>\n",
       "      <td>-1.974609</td>\n",
       "      <td>2012-07-26 15:06:20.160</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>11</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343315e+09</td>\n",
       "      <td>1011.60</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7.3</th>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 16:26:52.560</td>\n",
       "      <td>0.250604</td>\n",
       "      <td>7</td>\n",
       "      <td>22768.84</td>\n",
       "      <td>1.343320e+09</td>\n",
       "      <td>4832.40</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7.4</th>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 16:33:57.680</td>\n",
       "      <td>0.171082</td>\n",
       "      <td>7</td>\n",
       "      <td>425.12</td>\n",
       "      <td>1.343320e+09</td>\n",
       "      <td>425.12</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12.0</th>\n",
       "      <td>30.430000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>2012-07-26 17:28:20.400</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343324e+09</td>\n",
       "      <td>3262.72</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>63 rows × 14 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          longitude   latitude      depth             origin_time        cc  tid  return_time  origin_time_sec  interevent_time_sec  unique_event  hmax_unc  hmin_unc  az_hmax_unc  vmax_unc\n",
       "event_id                                                                                                                                                                                    \n",
       "2.0       30.210000  40.600000  -1.500000 2012-07-26 00:20:46.080  0.355306    2          NaN     1.343262e+09                 0.00          True       NaN       NaN          NaN       NaN\n",
       "10.0      30.337695  40.716875   8.867188 2012-07-26 00:58:11.120  0.342251   10          NaN     1.343264e+09                 0.04          True       NaN       NaN          NaN       NaN\n",
       "0.1       30.323047  40.731250  12.015625 2012-07-26 00:58:16.160  0.307403    0         5.52     1.343264e+09                 5.04          True       NaN       NaN          NaN       NaN\n",
       "0.2       30.323047  40.731250  12.015625 2012-07-26 01:02:52.920  0.283410    0       276.76     1.343265e+09               276.24          True       NaN       NaN          NaN       NaN\n",
       "1.3       30.343555  40.716875   9.273438 2012-07-26 01:03:46.920  0.403296    1        53.64     1.343265e+09                 0.36          True       NaN       NaN          NaN       NaN\n",
       "...             ...        ...        ...                     ...       ...  ...          ...              ...                  ...           ...       ...       ...          ...       ...\n",
       "5.13      30.339648  40.716875   9.273438 2012-07-26 14:49:28.560  0.231381    5       638.00     1.343314e+09               636.20          True       NaN       NaN          NaN       NaN\n",
       "11.0      30.326221  40.600156  -1.974609 2012-07-26 15:06:20.160  1.000000   11          NaN     1.343315e+09              1011.60          True       NaN       NaN          NaN       NaN\n",
       "7.3       30.338672  40.716250   8.765625 2012-07-26 16:26:52.560  0.250604    7     22768.84     1.343320e+09              4832.40          True       NaN       NaN          NaN       NaN\n",
       "7.4       30.338672  40.716250   8.765625 2012-07-26 16:33:57.680  0.171082    7       425.12     1.343320e+09               425.12          True       NaN       NaN          NaN       NaN\n",
       "12.0      30.430000  40.720000  10.000000 2012-07-26 17:28:20.400  1.000000   12          NaN     1.343324e+09              3262.72          True       NaN       NaN          NaN       NaN\n",
       "\n",
       "[63 rows x 14 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(f\"There are {len(template_group.catalog.catalog)} events in our template matching catalog!\")\n",
    "template_group.catalog.catalog"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's plot these events on a map. You will see that there are far fewer dots on the map than the total number of earthquakes in our catalog... This is because all newly detected events are attributed their template locations. Therefore, most events are plotted at the exact same location."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5cAAAJdCAYAAACmkYODAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAADltUlEQVR4nOzdeXxM5/4H8M9Mlsk2mSyySEqERIktCLGVUASpKqWKSrWl1trurarSqttyaX9utLqoq8Vti9be2qJqqbWUoLgEkdiyZ5bsyeT8/sjN1JhJZJaYzMzn/XqdFznPmWeeOb6ezPc8z3mOSBAEAUREREREREQmEFu6AURERERERGT9mFwSERERERGRyZhcEhERERERkcmYXBIREREREZHJmFwSERERERGRyZhcEhERERERkcmYXBIREREREZHJmFwSERERERGRyZhcEhERERERkcmYXBIREREREZHJmFwSERERERHVkSVLlqBTp06QSqXw9/fHc889h6tXr2odIwgCFi5ciKCgILi6uiImJgaXLl16ZN1btmxBREQEJBIJIiIisG3btrr6GLXC5JKIiIiIiKiOHD58GFOnTsXJkyexf/9+lJeXo3///igoKNAcs2zZMixfvhwrV67E6dOnERgYiH79+kGlUlVb74kTJzBy5EiMHTsW58+fx9ixY/HCCy/g1KlTj+Nj6SUSBEGw2LsTERERERHZkaysLPj7++Pw4cPo2bMnBEFAUFAQZs6cibfeegsAUFJSgoCAACxduhQTJ07UW8/IkSOhVCqxZ88ezb4BAwbA29sbGzZseCyf5WGOFnlXK1RcXIzS0lJLN4OIiIiIiGrB2dkZLi4u1Zab8v1eEASIRCKtfRKJBBKJ5JGvVSgUAAAfHx8AQEpKCtLT09G/f3+tunr16oXjx49Xm1yeOHECs2bN0toXGxuLhIQEQz6KWTG5rIXi4mIEBgZqAoGIiIiIiOq3wMBApKSk6E0wi4uL4erqanTdHh4eyM/P19r33nvvYeHChTW+ThAEzJ49Gz169EDr1q0BAOnp6QCAgIAArWMDAgKQmppabV3p6el6X1NVnyUwuayF0tJSKBQKnD17FlKp1NLNISIiIiKiGqhUKnTo0AGlpaV6k0tTZyTm5+fj9u3b8PT01OyrzajltGnTcOHCBRw9elSn7OGRUH2jo+Z4TV1icmkAqVTK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yM3NNTmjq/7+PncNoPQ0bwZWdYEAVRwqzNuZseeSiIiIiIick0RSvpl1DgCwf84UTuhDZAfu3r2L7777jtOEk91jLJOjYCyTo2AskzWx55LIDpSVleH27dsoKyuzdVGILMJYJkfBWCZH4fSxXAvvXDoTVg0RERERERFZjD2XRERERETknNhzaVWsGiIiIiIiIrIYey6J7IBSqUTv3r053TXZPcYyOQrGMjkKp49lyf82c88hk9i4JLIDHh4eaN68ua2LQWQxxjI5CsYyOQrGMlmTRcNiFy5cCIlEgtdff92wTxAEzJkzB6GhofDw8EDnzp1x/vz5B+aVk5OD8ePHIyQkBO7u7mjWrBl27NhhSP/8888RFRUFpVIJpVKJ2NhY7Ny5U5RHamoqnnnmGYSGhmLcuHHQ6XSGtM6dO0MikWD9+vWicxISEtCgQYPqVQBRLcnPz8fJkyeRn59v66IQWYSxTI6CsUyOgrFM1lTtxuXx48exbNkyREVFifa/9957WLJkCT755BMcP34cwcHB6N69OzQaTYV5lZSUoHv37rh+/Tq+//57XLp0CcuXL0fdunUNxzzyyCNYtGgRTpw4gRMnTuCpp55C3759RQ3Xt956C23atMHOnTtx/fp1rFu3TvQ97u7ueOutt1BaWlrdn01kE3l5edi3bx/y8vJsXRQiizCWyVEwlslROH0sS6u5kUnVqpq8vDwMHToUy5cvh6+vr2G/IAhISEjA7Nmz0b9/f7Ro0QKrV69GQUEB1q5dW2F+X331FbKysrB582Z06NAB9evXxxNPPIF//OMfhmP69OmDXr16oUmTJmjSpAn+/e9/w9vbG0ePHjUck5OTg8jISLRs2RINGzZEbm6u6HtefPFF5ObmYvny5dX52URERERERFSBajUux48fj969e6Nbt26i/deuXUNqaip69Ohh2CeXy9GpUyccOXKkwvy2bt2K2NhYjB8/HkFBQWjRogUWLFgArVZr8nitVov169cjPz8fsbGxhv0zZszAxIkTIZfLcerUKcTFxYnOUyqVmDVrFubOncuufyIiIiIiZ8eeS6syu2rWr1+PkydPYuHChUZpqampAICgoCDR/qCgIEOaKVevXsX3338PrVaLHTt24K233sIHH3yAf//736Ljzp07B29vb8jlcowZMwabNm0SvYAcExODW7duISUlBUeOHIG3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4r///S8iIyNx7NgxQ7qrq3iyGIlEAhcXF6N9FQ1zNXfCnFatWuHy5cuYM2cOCgsLMWTIEAwaNKjC47VaLaZPn45NmzZh7ty5+Omnn3D8+HG0aNGiWkvt3DskGCgfanz/PlN1ol8K5emnn8aVK1cwceJE3LlzBz179sT06dPNLgfZBhuXRERERFTrTPVe1mSvZUWaNWuG/Px8AOUNs9TUVLi4uKBx48airU6dOhXm0apVK0yfPh2HDh1CZGQk1q9fb7XytWjRAmfOnDFrRlulUokXXngBX3zxBb777jts2rTJcL6rqyu0WvH7rL/99hteeuklPPfcc2jZsiWCg4MNkxLpmTrvfhEREThy5Iho36+//oqIiIgqlx0oH74bFxeH1atX44MPPsCKFSvMOp9sh+9cEhEREVGtu//dy5p611Lv7t27ePHFFzF8+HC0bNkSCoUCv//+Oz744AP06dMHANC1a1e0a9cOAwYMwIIFC9CkSRPcuXMHO3fuRN++fQ3vAepdu3YNK1asQJ8+fRASEoLLly8jKSkJL730ktXKPXjwYMTHx2PAgAGYP38+goODcfr0aYSGhqJdu3ZGxy9duhTBwcH4xz/+AalUio0bNyI4OBg+Pj4Ayofp7t+/H+3bt4dcLoe3tzcaNGiALVu2oE+fPpBIJJgzZ45RT2qDBg3w888/44UXXoBcLjfZ2J4yZQqGDBmCVq1aoUuXLti+fTs2b96MXbt2Vfn3zpkzB4899hiaN2+O4uJibN++3ezGqVkkvoDE3cxzimqmLA6APZdEREREZBP39l7WdK+lt7c32rRpg48++ghdu3ZFq1atMGfOHLz88stYunRpeRkkEmzduhUdO3bEq6++isjISLz00ktITk5GYGCgUZ6enp64dOkSBg0ahMjISIwbNw5jx47FK6+8YrVyu7m5YceOHQgICMCzzz6Lxx57DO+//z5kMtPrtHh7e2Px4sWIjY1F+/btkZycjC1bthje8Xzvvfewb98+PProo3j88ccBAO+88w58fHzQqVMn9O/fHz169ECrVq1E+b777rtITk5GREQEQkNDTX533759sWTJEixZsgTR0dFYvnw5li9fjk6dOpn1e9966y20bt0aXbt2hUwmM1rOhB5eEkE/wJkqpFaroVKpkJSUJHohm6i23L17F7t27cLTTz8Nf39/WxeHqNoYy+QonD2WS0tLkZOTg/r168Pd3cxen/vIussgPSiFrrMO2kTrLj9CD1ZWVobc3FyoVCqjd0EfdkVFRUhOToaPj4/Re5wajQbh4eHIzc2FUqk0Old/f5+b8wGUSvPea1WrC6HyeaPCvJ2ZfUUQkZPy9/fH0KFDbV0MIosxlslRMJatRzdXB8mzEujm1u67llTOxcXFKR+QUM1g45KIiIiIbEaIFVB2uwxwffCxRNbnC8DTzHMKaqIgDoHvXBLZgbS0NLz//vtIS0uzdVGILMJYJkfBWLYyNixtprS0FKmpqdVadoTofuy5JCIiIiIiJ+UHwMvMcyx7z9iRseeSiIiIiIjsDuclffiw55KIiIiIzKJf1qK0tNTi2WKJqquoqAiCIFS4LEuVSHwBibeZ57hV//scHBuXRERERGQWqVQKFxcXZGZmwsXFBRKJxNZFomoqKytDWVkZiouLodXax1IwgiCgqKgIGRkZcHd3NzzsINvjOpdVwHUuydbKysqg0WigUCjsbg0qonsxlslRMJYBrVaLrKwsWxeDLCQIAgRBgEQisauHBIIgwN3dHQqFwmS5q7zOZe4ZKJXm3d+r1RqoVP/gOpcmOOfVkMjOuLi4wNfX19bFILIYY5kcBWMZkMlkqFOnDrRaLd99o1onk8nYY/kQYuOSyA7k5OTg8OHD6NChA3x8fGxdHKJqYyyTo2Asl5NIJE7bc+soGMtkTWzuE9mB4uJiXLhwAcXFxbYuCpFFGMvkKBjL5CgYyz4AfM3cfKr1TZ999hkaNmwId3d3tG7dGj///HOlxx88eBCtW7eGu7s7Hn30UXzxxRfV+t7axMYlERERERFRDdqwYQNef/11zJ49G6dOnULHjh3xzDPP4MaNGyaPv3btGnr16oWOHTvi1KlTmDVrFiZOnIiNGzfWcsnNw3EMRERERETkpHwAmDspj/n9c0uWLMGoUaMwevRoAEBCQgJ2796Nzz//HAsXLjQ6/osvvkC9evWQkJAAAGjWrBlOnDiBxYsX4/nnnzf7+2sLG5dmmDhxIlxdXW1dDHJChYWFSE5OxtmzZ+Hh4WHr4hBVG2OZHAVjmRyFo8ZyaWlplY5Tq9Vm560/5/5z5XI55HK50fElJSX4/fffMWPGDNH+Hj164MiRIya/49dff0WPHj1E+3r27ImVK1eitLT0oW2TsHFZBfog2blzp41LQs7u8uXLti4CkVUwlslRMJbJUThiLAcHB8PNzc1kmpubG4KDgxEWFlatvL29vY3OfffddzFnzhyjYzMzM6HVahEUFCTaHxQUhNTUVJP5p6ammjy+rKwMmZmZCAkJqVa5axobl1Ugl8tRVFTkxC86ExERERHZFzc3N7i7u5tMc3d3x7Vr11BSUlKtvPVrg97LVK/lve4/3lQeDzre1P6HCRuXVVRRNzcREREREdkfd3f3Chuf1lSnTh3IZDKjXsr09HSj3km94OBgk8e7uLjA39+/xspqKc4WS0REREREVEPc3NzQunVr7NmzR7R/z549aN++vclzYmNjjY5PTExETEzMQ/u+JcDGJRERERERUY2aMmUKVqxYga+++goXL17E5MmTcePGDYwZMwYAMHPmTMTFxRmOHzNmDJKTkzFlyhRcvHgRX331FVauXImpU6fa6idUCYfFEhERERER1aBBgwbh7t27mDt3Lu7cuYMWLVpgx44dqF+/PgDgzp07ojUvGzZsiB07dmDy5Mn49NNPERoaio8++uihXoYEACSC/s1QIiIiIiIiomrisFgiIiIiIiKyGBuXREREREREZDE2Loms7PPPP0dUVBSUSiWUSiViY2Oxc+dOQ7ogCJgzZw5CQ0Ph4eGBzp074/z585XmuXz5cnTs2BG+vr7w9fVFt27d8Ntvv4mOycvLw+DBgxESEoLBgwcjPz/fkDZixAhIJBKj7emnn7bujyeHUhOx/MMPPyAmJgY+Pj7w8vJCdHQ0vvnmG9ExjGWytpqI5XutX78eEokEzz33nGg/Y5msrSZiedWqVSZjsaioyHAMY5mqio1LIit75JFHsGjRIpw4cQInTpzAU089hb59+xou7u+99x6WLFmCTz75BMePH0dwcDC6d+8OjUZTYZ4HDhzAiy++iP379+PXX39FvXr10KNHD9y6dctwTEJCAry9vZGYmAhPT08kJCSI8nj66adx584d0bZu3boaqQNyDDURy35+fpg9ezZ+/fVXnD17FiNHjsTIkSOxe/duwzGMZbK2mohlveTkZEydOhUdO3Y0SmMsk7XVVCwrlUqjWLx3/UfGMlWZQEQ1ztfXV1ixYoWg0+mE4OBgYdGiRYa0oqIiQaVSCV988UWV8ysrKxMUCoWwevVqw7433nhDiI+PFwRBEOLj44U333zTkDZ8+HChb9++lv8QcnrWjmVBEIRWrVoJb731luEzY5lqgzViuaysTOjQoYOwYsUKk7HJWKbaYGksf/3114JKpar0OxjLVFXsuSSqQVqtFuvXr0d+fj5iY2Nx7do1pKamokePHoZj5HI5OnXqhCNHjlQ534KCApSWlsLPz8+wb8KECfjyyy/h6uqKr7/+GpMmTbLqbyHnVhOxLAgC9u3bh0uXLuHJJ5807GcsU02yZizPnTsXAQEBGDVqlMl0xjLVJGvGcl5eHurXr49HHnkE//d//4dTp06J0hnLVFVsXBLVgHPnzsHb2xtyuRxjxozBpk2b0Lx5c6SmpgIAgoKCRMcHBQUZ0qpixowZqFu3Lrp162bY16BBAyQlJSElJQUXLlxA3bp1Ref8+OOP8Pb2Fm3z5s2z4FeSM6iJWM7NzYW3tzfc3NzQu3dvfPzxx+jevbshnbFMNcHasXz48GGsXLkSy5cvr/AYxjLVBGvHckREBFatWoWtW7di3bp1cHd3R4cOHZCUlGQ4hrFMVeVi6wIQOaKmTZvi9OnTyMnJwcaNGzF8+HAcPHjQkC6RSETHC4JgtK8i7733HtatW4cDBw6I3ocAAKlUiuDgYJPndenSBZ9//rlo3709n0Sm1EQsKxQKnD59Gnl5edi3bx+mTJmCRx99FJ07dzYcw1gma7NmLGs0Grz00ktYvnw56tSpU+n3MpbJ2qx9XW7Xrh3atWtn+NyhQwc89thj+Pjjj/HRRx8Z9jOWqSrYuCSqAW5ubmjcuDEAICYmBsePH8fSpUsxffp0AEBqaipCQkIMx6enpxs9aTRl8eLFWLBgAfbu3YuoqCizyuTl5WUoE1FV1UQsS6VSQ57R0dG4ePEiFi5cKGpcVoaxTNVhzVj+66+/cP36dfTp08ewT6fTAQBcXFxw6dIlNGrU6IFlYixTddTUPYaeVCpFmzZtRD2XD8JYJj0OiyWqBYIgoLi4GA0bNkRwcDD27NljSCspKcHBgwfRvn37SvN4//33MW/ePOzatQsxMTE1XWQik6wRyxXlSVSbLInliIgInDt3DqdPnzZszz77LLp06YLTp08jLCystn4GkdWvy4Ig4PTp06IGKlFVseeSyMpmzZqFZ555BmFhYdBoNFi/fj0OHDiAXbt2QSKR4PXXX8eCBQsQHh6O8PBwLFiwAJ6enhgyZIghj7i4ONStWxcLFy4EUD4U9u2338batWvRoEEDw7sT+vcaqqK4uNjonQsXF5cHDuki51UTsbxw4ULExMSgUaNGKCkpwY4dO7BmzRqj4VSVYSyTuawdy+7u7mjRooXoO3x8fADAaH9lGMtkrpq4Lv/rX/9Cu3btEB4eDrVajY8++ginT5/Gp59+WuVyMZZJj41LIitLS0vDsGHDcOfOHahUKkRFRWHXrl2GCUumTZuGwsJCjBs3DtnZ2Wjbti0SExOhUCgMedy4cQNS6d8DCz777DOUlJRgwIABou969913MWfOnCqVa9euXUZPIZs2bYo///yzmr+UHF1NxHJ+fj7GjRuHmzdvwsPDAxEREfj2228xaNCgKpeLsUzmqolYtgbGMpmrJmI5JycHr776KlJTU6FSqdCqVSscOnQIjz/+eJXLxVgmPYkgCIKtC0FERERERET2je9cEhERERERkcXYuCQiIiIiIiKLsXFJREREREREFmPjkoiIiIiIiCzGxiURERERERFZjI1LIiIiIiIishgbl0RERERERGQxNi6JiIiIiIjIYmxcEhERERERkcXYuCQiIiIiIiKLsXFJREREREREFvt/KVFINwayqPUAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x1000 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = template_group.catalog.plot_map(\n",
    "    figsize=(10, 10), network=net, s=50, markersize_station=50, lat_margin=0.02, plot_uncertainties=False\n",
    "    )\n",
    "ax = fig.get_axes()[0]\n",
    "ax.set_facecolor(\"dimgrey\")\n",
    "ax.patch.set_alpha(0.15)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Bonus: Relocate each events\n",
    "\n",
    "In your workflow, you might be ok with the approximate locations of the template matching catalog. However, if you decide to keep refining the catalog, here are some suggestions to get started.\n",
    "\n",
    "One possibility to start refining the locations of all events is to re-run the same process as in notebook 6, namely `PhaseNet` and `NonLinLoc`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PhaseNet(\n",
       "  (inc): Conv1d(3, 8, kernel_size=(7,), stride=(1,), padding=same)\n",
       "  (in_bn): BatchNorm1d(8, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "  (down_branch): ModuleList(\n",
       "    (0): ModuleList(\n",
       "      (0): Conv1d(8, 8, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (1): BatchNorm1d(8, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2): Conv1d(8, 8, kernel_size=(7,), stride=(4,), padding=(3,), bias=False)\n",
       "      (3): BatchNorm1d(8, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "    )\n",
       "    (1): ModuleList(\n",
       "      (0): Conv1d(8, 16, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (1): BatchNorm1d(16, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2): Conv1d(16, 16, kernel_size=(7,), stride=(4,), bias=False)\n",
       "      (3): BatchNorm1d(16, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "    )\n",
       "    (2): ModuleList(\n",
       "      (0): Conv1d(16, 32, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (1): BatchNorm1d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2): Conv1d(32, 32, kernel_size=(7,), stride=(4,), bias=False)\n",
       "      (3): BatchNorm1d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "    )\n",
       "    (3): ModuleList(\n",
       "      (0): Conv1d(32, 64, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (1): BatchNorm1d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2): Conv1d(64, 64, kernel_size=(7,), stride=(4,), bias=False)\n",
       "      (3): BatchNorm1d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "    )\n",
       "    (4): ModuleList(\n",
       "      (0): Conv1d(64, 128, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (1): BatchNorm1d(128, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2-3): 2 x None\n",
       "    )\n",
       "  )\n",
       "  (up_branch): ModuleList(\n",
       "    (0): ModuleList(\n",
       "      (0): ConvTranspose1d(128, 64, kernel_size=(7,), stride=(4,), bias=False)\n",
       "      (1): BatchNorm1d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2): Conv1d(128, 64, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (3): BatchNorm1d(64, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "    )\n",
       "    (1): ModuleList(\n",
       "      (0): ConvTranspose1d(64, 32, kernel_size=(7,), stride=(4,), bias=False)\n",
       "      (1): BatchNorm1d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2): Conv1d(64, 32, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (3): BatchNorm1d(32, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "    )\n",
       "    (2): ModuleList(\n",
       "      (0): ConvTranspose1d(32, 16, kernel_size=(7,), stride=(4,), bias=False)\n",
       "      (1): BatchNorm1d(16, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2): Conv1d(32, 16, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (3): BatchNorm1d(16, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "    )\n",
       "    (3): ModuleList(\n",
       "      (0): ConvTranspose1d(16, 8, kernel_size=(7,), stride=(4,), bias=False)\n",
       "      (1): BatchNorm1d(8, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "      (2): Conv1d(16, 8, kernel_size=(7,), stride=(1,), padding=same, bias=False)\n",
       "      (3): BatchNorm1d(8, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n",
       "    )\n",
       "  )\n",
       "  (out): Conv1d(8, 3, kernel_size=(1,), stride=(1,), padding=same)\n",
       "  (softmax): Softmax(dim=1)\n",
       ")"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import seisbench.models as sbm\n",
    "\n",
    "ml_detector = sbm.PhaseNet.from_pretrained(\"original\")\n",
    "ml_detector.eval()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# PhaseNet picking parameters\n",
    "\n",
    "# PhaseNet was trained for 100Hz data. Even if we saw that running PhaseNet on 25Hz data\n",
    "# was good for backprojection, here, picking benefits from running PhaseNet on 100Hz data.\n",
    "# Thus, we will upsample the waveforms before running PhaseNet.\n",
    "PHASENET_SAMPLING_RATE_HZ = 100.\n",
    "UPSAMPLING_BEFORE_PN_RELOCATION = int(PHASENET_SAMPLING_RATE_HZ/BPMF.cfg.SAMPLING_RATE_HZ)\n",
    "DOWNSAMPLING_BEFORE_PN_RELOCATION = 1\n",
    "\n",
    "# DURATION_SEC: the duration, in seconds, of the data stream starting at the detection time\n",
    "#               defined by Event.origin_time. This data stream is used for picking the P/S waves.\n",
    "DURATION_SEC = 60.0\n",
    "# THRESHOLD_P: probability of P-wave arrival above which we declare a pick. If several picks are\n",
    "#              declared during the DURATION_SEC data stream, we only keep the best one. We can\n",
    "#              afford using a low probability threshold since we already know with some confidence\n",
    "#              that an earthquake is in the data stream.\n",
    "THRESHOLD_P = 0.10\n",
    "# THRESHOLD_S: probability of S-wave arrival above which we declare a pick.\n",
    "THRESHOLD_S = 0.10\n",
    "# DATA_FOLDER: name of the folder where the waveforms we want to use for picking are stored\n",
    "DATA_FOLDER = \"preprocessed_2_12\"\n",
    "# COMPONENT_ALIASES: A dictionary that defines the possible channel names to search for\n",
    "#                    for example, the seismometer might not be oriented and the horizontal channels\n",
    "#                    might be named 1 and 2, in which case we arbitrarily decide to take 1 as the \"N\" channel\n",
    "#                    and 2 as the \"E\" channel. This doesn't matter for picking P- and S-wave arrival times.\n",
    "COMPONENT_ALIASES = {\"N\": [\"N\", \"1\"], \"E\": [\"E\", \"2\"], \"Z\": [\"Z\"]}\n",
    "# PHASE_ON_COMP: dictionary defining which moveout we use to extract the waveform\n",
    "PHASE_ON_COMP = {\"N\": \"S\", \"1\": \"S\", \"E\": \"S\", \"2\": \"S\", \"Z\": \"P\"}\n",
    "# USE_APRIORI_PICKS: boolean. This option is IMPORTANT when running BPMF in HIGH SEISMICITY CONTEXTS, like\n",
    "#                   during the aftershock sequence of a large earthquake. If there are many events happening\n",
    "#                   close to each other in time, we need to guide PhaseNet to pick the right set of picks.\n",
    "#                   For that, we use the predicted P- and S-wave times from backprojection to add extra weight to\n",
    "#                   the picks closer to those times and make it more likely to identify them as the \"best\" picks.\n",
    "#                   WARNING: If there are truly many events, even this trick might fail. It's because \"phase association\"\n",
    "#                   is an intrinsically hard problem in this case, and the picking might be hard to do automatically.\n",
    "USE_APRIORI_PICKS = True\n",
    "#SEARCH_WIN_SEC: When `use_apriori_picks=True`, the P/S picks in the `DURATION_SEC`-long window are weighted\n",
    "#                using a gaussian centered on the predicted P/S wave arrivals and with standard deviation\n",
    "#                equal to `SEARCH_WIN_SEC`. Thus, the picks outside of +/- `3*SEARCH_WIN_SEC` are essentially\n",
    "#                given a weight of 0.\n",
    "SEARCH_WIN_SEC = 1.0\n",
    "\n",
    "# MAX_HORIZONTAL_UNC_KM: Horizontal location uncertainty, in km, above which we keep the template location\n",
    "MAX_HORIZONTAL_UNC_KM = 10.\n",
    "\n",
    "# location parameters\n",
    "\n",
    "LOCATION_ROUTINE = \"NLLoc\"\n",
    "# NLLOC_METHOD: string that defines what loss function is used by NLLoc, see http://alomax.free.fr/nlloc/ for more info.\n",
    "#               Using some flavor of 'EDT' is important to obtain robust locations that are not sensitive to pick outliers.\n",
    "NLLOC_METHOD = \"EDT_OT_WT_ML\"\n",
    "# MINIMUM_NUM_STATIONS_W_PICKS: minimum number of stations with picks to even try relocation.\n",
    "MINIMUM_NUM_STATIONS_W_PICKS = 3\n",
    "# we set a maximum tolerable difference, in percentage, between the picked time and the predicted travel time\n",
    "MAX_TIME_DIFFERENT_PICKS_PREDICTED_PERCENT = 25"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Relocating each individual event:   0%|          | 0/63 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Relocating each individual event: 100%|██████████| 63/63 [00:43<00:00,  1.46it/s]\n"
     ]
    }
   ],
   "source": [
    "events = {}\n",
    "for i in tqdm(range(len(template_group.catalog.catalog)), desc=\"Relocating each individual event\"):\n",
    "    row = template_group.catalog.catalog.iloc[i]\n",
    "    tid, evidx = row.name.split(\".\")\n",
    "    # get the template instance from template_group\n",
    "    template = template_group.templates[template_group.tindexes.loc[int(tid)]]\n",
    "    # this is the filename of the database where template tid's detected events were stored\n",
    "    detection_db_filename = f\"detections_template{tid}.h5\"\n",
    "    db_path = os.path.join(BPMF.cfg.OUTPUT_PATH, MATCHED_FILTER_DB)\n",
    "    with h5.File(os.path.join(db_path, detection_db_filename), mode=\"r\") as fdet:\n",
    "        keys = list(fdet.keys())\n",
    "        event = BPMF.dataset.Event.read_from_file(\n",
    "            hdf5_file=fdet[keys[int(evidx)]], data_reader=data_reader_mseed\n",
    "            )\n",
    "    # set arrival_times attribute to re-pick P-/S-wave arrivals with prior information\n",
    "    event.set_arrival_times_from_moveouts(verbose=0)\n",
    "    # # attach data reader this way (note: conflict with data_reader argument in phasenet's wrapper module)\n",
    "    # event.data_reader = data_reader_mseed\n",
    "    # pick P-/S-wave arrivals\n",
    "    event.pick_PS_phases(\n",
    "        DURATION_SEC,\n",
    "        phase_on_comp=PHASE_ON_COMP,\n",
    "        threshold_P=THRESHOLD_P,\n",
    "        threshold_S=THRESHOLD_S,\n",
    "        component_aliases=COMPONENT_ALIASES,\n",
    "        data_folder=DATA_FOLDER,\n",
    "        upsampling=UPSAMPLING_BEFORE_PN_RELOCATION,\n",
    "        downsampling=DOWNSAMPLING_BEFORE_PN_RELOCATION,\n",
    "        use_apriori_picks=USE_APRIORI_PICKS,\n",
    "        ml_model=ml_detector,\n",
    "    )\n",
    "    if len(event.picks.dropna(how=\"any\")) >= MINIMUM_NUM_STATIONS_W_PICKS:\n",
    "        # first relocation, insensitive to outliers\n",
    "        event.relocate(\n",
    "            stations=net.stations, routine=LOCATION_ROUTINE, method=NLLOC_METHOD,\n",
    "        )    \n",
    "    if \"NLLoc_reloc\" in event.aux_data:\n",
    "        # this variable was inserted into ev.aux_data if NLLoc successfully located the event\n",
    "        # use predicted times to remove outlier picks\n",
    "        event.remove_outlier_picks(max_diff_percent=MAX_TIME_DIFFERENT_PICKS_PREDICTED_PERCENT)\n",
    "        if len(event.picks.dropna(how=\"any\")) >= MINIMUM_NUM_STATIONS_W_PICKS:\n",
    "            # first relocation, insensitive to outliers\n",
    "            event.relocate(\n",
    "                stations=net.stations, routine=LOCATION_ROUTINE, method=NLLOC_METHOD,\n",
    "            )\n",
    "        else:\n",
    "            del event.aux_data[\"NLLoc_reloc\"]\n",
    "    events[row.name] = event\n",
    "    if (\"NLLoc_reloc\" in event.aux_data) and (event.hmax_unc) < MAX_HORIZONTAL_UNC_KM:\n",
    "        template_group.catalog.catalog.loc[row.name, \"longitude\"] = event.longitude\n",
    "        template_group.catalog.catalog.loc[row.name, \"latitude\"] = event.latitude\n",
    "        template_group.catalog.catalog.loc[row.name, \"depth\"] = event.depth\n",
    "        template_group.catalog.catalog.loc[row.name, \"origin_time\"] = event.origin_time\n",
    "        template_group.catalog.catalog.loc[row.name, \"hmax_unc\"] = event.hmax_unc\n",
    "        template_group.catalog.catalog.loc[row.name, \"hmin_unc\"] = event.hmin_unc\n",
    "        template_group.catalog.catalog.loc[row.name, \"vmax_unc\"] = event.vmax_unc\n",
    "        template_group.catalog.catalog.loc[row.name, \"az_hmax_unc\"] = event.az_hmax_unc\n",
    "                                           "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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GbEPgiiKorUz0dAVFBRAqVQiNTUVCoXC2tkhIiIiIqJqqFQqREREID8/H97e3gbpuuf7vNGAt6tp1y4oB3w2o8prOzJ2iyWyARqNBiqVChqNxtpZITILY5nsBWOZ7IXDxzKXIrEoVi6JbEB2djY++eQTZGdnWzsrRGZhLJO9YCyTvWAskyVxzCURERERETkmzhZrUbw1REREREREZDa2XBIRERERkWNiy6VF8dYQERERERHVkWbNmkEQBINt0qRJRo9PTk42evxff/1Vzzk3HZciqQEuRULWJooiNBoNZDIZBIGLK5HtYiyTvWAsk72w11iu8VIk8bVcimR9zZciycrKkszG++eff6J///7Yt28fevfubXB8cnIy+vTpg5SUFMn1AwICIJM17Klq2S2WyAYIggBnZ/65ku1jLJO9YCyTvXD0WBZklZup55giICBA8vO7776Lli1bolevXtWeFxgYCB8fH9M+zMrYLZbIBuTk5GDTpk3IycmxdlYaJEElICg46J6boLKfN7K2irFM9oKxTPaCsVx7BQUFkq2srOye55SXl+Prr7/GuHHj7tlS3KFDB4SEhKBv377Yt2+fpbJdp1i5JLIBarUa6enpUKvV1s5Kw6MBAtoF3Ps4/O84B10juqFgLJO9YCyTvXD4WHaq5QagcePGUCqV+i0hIeGeH/fDDz8gLy8PY8eOrfKYkJAQrF69Glu2bMH333+P1q1bo2/fvjhw4EDtv2c9cdw2cCKyDzKgvGM5XH9zhSBW/QZQFESUdyoHGvZQBSIiIrIR6enpkjGRcrn8nud89tlneOihhxAaGlrlMa1bt0br1q31P8fFxSE9PR1Lly5Fz549zct0HWPLJRHZvKIZRdVWLAFAEAUUzSiqpxwRERGRTTCj5dLb21uy3atymZaWhp9//hnjx483OZtdu3ZFamqqyefVN1YuicjmqbuqUdatDKLM+OTXokxEWfcyqLs4aJcfIiIisrp169YhMDAQQ4YMMfncEydOICQkpA5yZVnsFktkAxQKBQYOHMilcKpRNKMI8keMvzEUNGy1bCgYy2QvGMtkLxw+lu9oiTTpHBNptVqsW7cOzzzzjMHsvLNnz8b169exfv16AMDy5cvRrFkzREdH6ycA2rJlC7Zs2WL6B9czVi6JbICHhwdiYmKsnY0GTdd66XrEFYLmny6yokxEeddy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HDcES5e/afMz49U2lq3N2dkZK1euxH/+8x+MHj0agiBAFEXI5XKMGTMGvXv3tvnfDZnGVmO5IXj77bfxzjvvIDY21iAtOjoaq1atwhtvvIG1a9fWe96cnJzw/vvvo2nTprhy5QpefvllzJ49Gx988IH+mOLiYixevBiffvop/Pz8EBwcjNLSUqhUKn2LqJ+fn37Y1ptvvonExESEh4fjzTffxNNPP43z58/D2dkZv//+O55//nm8/fbbeOSRR5CUlIQFCxaYnO+ioiJMnToVbdu2RVFREf79739j1KhROHbsmMH6j+Xl5Xj66adx6dIlJCcnIzAwEElJSXj22WexbNkyPPDAA7h06RImTpwIAHjjjTewZcsWrFy5El9//TWioqJw69Ytg7H3REA9VS6JyDxFRUU4f/482rRpo58EpaZ8fHywdetWZGRk4Ouvv8bff/+NXr16ITExsY5yS+bo338I+vUbjFOnTuHatWto0toL66bESSYTs2XmxLK1yWQyDBs2DMOGDbN2VqgBsOVYtqbCwkJcunQJcXFxVR4THR0NlUqF7Oxs/RhPS9q1a5dBF9jXXnsNc+fO1U9wBVQuMTR//ny8/PLLksqlWq3GypUr9eMoAegnnzG2YsH06dMxePBgAJUVzfbt2+PixYuIjIzEBx98gAEDBujnIWnVqhV+++03JCUlmfSdRowYIfl59erVCAsLw7lz59C2bVv9/qKiIgwbNgwlJSX4+eefoVQqodVq8c477+C1117TT9jUokULvPXWW5gzZw7eeOMNpKenIygoCH379oWLiwuaNGmCzp07m5THBsvJqXIz6Zy6yYo9YOWSyAYUFhZi3759aNy4ca0fYoKDg/Haa69ZOGdUFwRBQPv27a0+RqcuWCKWiRoCxnLtXLhwwWiL5d0eeOABnDlzBn369LF4Hnr37i2pLAKVLY1AZc+5xMREnD9/HgUFBaioqEBpaSmKior0v2dXV1fExMTU+PPunEBHN5Y0KysLkZGR+OuvvwxeWHXt2tXkyuXff/+N+fPn4/fff0d2drZ+MqD09HRJ5fLpp59GWFgY9uzZAw8PDwCV40ZPnjyJEydOSF48azQalJaWori4GI8++ig++OADtG7dGgMGDMCgQYPwf//3fxxWQwZY7yYiIiKieqHrUn4vWq22zrqae3h4IDw8XLL5+fkhLS0NDz/8MKKjo7F582YcPnwYK1euBCCd2dXd3d2kvN1ZAdOdp6v81eReODk5GRx390yzw4cPR05ODj7++GP8+uuv+mU47p4NeNCgQThz5ozBsk9arRZz587F0aNH9dvx48dx7tw5uLm5oXHjxvjzzz+xYsUKuLu7Y8qUKXjwwQeNznhLjo2vG4iIiIioXkRGRmLevHn3PO7AgQN45pln6iFH//jjjz9QUVGBxYsX68cp3r3mbFVcXV0NlsyoiTZt2uD333+X7Lu74teoUSOcPXtWsu/UqVP62VFv376Nv/76Cx999BEeeOABAMDBgweNft4LL7yA6OhojBgxAtu2bUPPnj0BAG3btkVqairCw8OrzKu7uzuGDh2KoUOHYsKECWjXrh3+/PNPdOjQwbQv3dAIsv9N0mPKORxjXxVWLomIiIioXri7u6Ndu3b4+eefJbOd3un3339HUFAQfHx86iQP5eXl+nU6dZydndGiRQtUVFTgww8/xJAhQ3Do0CGDJUuq0rRpU/z0009ISUmBv78/lEpljc6bPHkyevbsiaVLl+Lhhx/Gzz//bNAltk+fPli2bBm++uordO3aFRs2bMDZs2f1Qyd8fX3h7++PtWvXIjg4GOnp6dUu0zdp0iRoNBo88sgj2LFjB+6//3688sorePbZZ9GkSRM8+uijcHJywpkzZ/Dnn39iwYIFWL9+PTQaDTp37gwPDw988803cHd3R5MmTWr0PclxsFsskQ1wdXVFeHg4XF1drZ0VIrMwlsleMJZrb+7cuVi8eDGSkpIMunv++uuvmD17NhYuXFhnn79nzx40adJEsunWZF+yZAmWLl2KDh06YNOmTXj77bdrdM3nnnsOrVq1QlxcHEJDQ3Ho0KEandelSxd8+umn+Oijj9C5c2f89NNPmD17tuSYAQMGYM6cOZgzZw66deuGwsJCPPXUU/p0JycnfP311zh+/Dg6dOiA1157De+++261nztlyhS8+eabePjhh3HkyBEMGDAAW7Zswd69e9GtWzf06NEDK1asQNOmTQEASqUSn332GXr37o1OnTph37592Lp1K/z9/Wv0PRs0J5fabWSUIHKhx3vSLbKampoqWYuTiIiIyBGp1Wrk5eWhadOmcHNzM/n8wsJCLFy4EGfOnEHnzp3h5OSEY8eOITw8HG+88YbBbK6OZP369Xj11VeRlZVl7aw0eKWl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",
      "text/plain": [
       "<Figure size 1000x1000 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = template_group.catalog.plot_map(\n",
    "    figsize=(10, 10), network=net, s=50, markersize_station=50, lat_margin=0.02, plot_uncertainties=False\n",
    "    )\n",
    "ax = fig.get_axes()[0]\n",
    "ax.set_facecolor(\"dimgrey\")\n",
    "ax.patch.set_alpha(0.15)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Assemble the backprojection and template matching catalog \n",
    "\n",
    "When selecting the template events from the backprojection catalog, we imposed some quality criteria that might have thrown out some events that we still want in our final catalog. Here, we make a simple comparison of the backprojection and template matching catalogs to find these missing events and add them to the final catalog."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "BACKPROJECTION_CATALOG_FILENAME = \"backprojection_catalog.csv\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>event_id</th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>origin_time</th>\n",
       "      <th>cc</th>\n",
       "      <th>tid</th>\n",
       "      <th>return_time</th>\n",
       "      <th>origin_time_sec</th>\n",
       "      <th>interevent_time_sec</th>\n",
       "      <th>unique_event</th>\n",
       "      <th>hmax_unc</th>\n",
       "      <th>hmin_unc</th>\n",
       "      <th>az_hmax_unc</th>\n",
       "      <th>vmax_unc</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>tm_2.0</td>\n",
       "      <td>30.210000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 00:20:46.080000</td>\n",
       "      <td>0.355306</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343262e+09</td>\n",
       "      <td>0.00</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>tm_10.0</td>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 00:58:11.120000</td>\n",
       "      <td>0.342251</td>\n",
       "      <td>10</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.04</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>tm_0.1</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 00:58:16.160000</td>\n",
       "      <td>0.307403</td>\n",
       "      <td>0</td>\n",
       "      <td>5.52</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>5.04</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>tm_0.2</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:02:52.920000</td>\n",
       "      <td>0.283410</td>\n",
       "      <td>0</td>\n",
       "      <td>276.76</td>\n",
       "      <td>1.343265e+09</td>\n",
       "      <td>276.24</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>tm_1.3</td>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 01:03:46.920000</td>\n",
       "      <td>0.403296</td>\n",
       "      <td>1</td>\n",
       "      <td>53.64</td>\n",
       "      <td>1.343265e+09</td>\n",
       "      <td>0.36</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>tm_5.13</td>\n",
       "      <td>30.339648</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 14:49:28.560000</td>\n",
       "      <td>0.231381</td>\n",
       "      <td>5</td>\n",
       "      <td>638.00</td>\n",
       "      <td>1.343314e+09</td>\n",
       "      <td>636.20</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>tm_11.0</td>\n",
       "      <td>30.327686</td>\n",
       "      <td>40.600156</td>\n",
       "      <td>-1.974609</td>\n",
       "      <td>2012-07-26T15:06:20.160000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>11</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343315e+09</td>\n",
       "      <td>1011.60</td>\n",
       "      <td>True</td>\n",
       "      <td>1.204434</td>\n",
       "      <td>0.549646</td>\n",
       "      <td>90.198577</td>\n",
       "      <td>1.38049</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>tm_7.3</td>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 16:26:52.560000</td>\n",
       "      <td>0.250604</td>\n",
       "      <td>7</td>\n",
       "      <td>22768.84</td>\n",
       "      <td>1.343320e+09</td>\n",
       "      <td>4832.40</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>tm_7.4</td>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 16:33:57.680000</td>\n",
       "      <td>0.171082</td>\n",
       "      <td>7</td>\n",
       "      <td>425.12</td>\n",
       "      <td>1.343320e+09</td>\n",
       "      <td>425.12</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>tm_12.0</td>\n",
       "      <td>30.430000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>2012-07-26 17:28:20.400000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343324e+09</td>\n",
       "      <td>3262.72</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>63 rows × 15 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   event_id  longitude   latitude      depth                  origin_time        cc  tid  return_time  origin_time_sec  interevent_time_sec  unique_event  hmax_unc  hmin_unc  az_hmax_unc  vmax_unc\n",
       "0    tm_2.0  30.210000  40.600000  -1.500000   2012-07-26 00:20:46.080000  0.355306    2          NaN     1.343262e+09                 0.00          True       NaN       NaN          NaN       NaN\n",
       "1   tm_10.0  30.337695  40.716875   8.867188   2012-07-26 00:58:11.120000  0.342251   10          NaN     1.343264e+09                 0.04          True       NaN       NaN          NaN       NaN\n",
       "2    tm_0.1  30.323047  40.731250  12.015625   2012-07-26 00:58:16.160000  0.307403    0         5.52     1.343264e+09                 5.04          True       NaN       NaN          NaN       NaN\n",
       "3    tm_0.2  30.323047  40.731250  12.015625   2012-07-26 01:02:52.920000  0.283410    0       276.76     1.343265e+09               276.24          True       NaN       NaN          NaN       NaN\n",
       "4    tm_1.3  30.343555  40.716875   9.273438   2012-07-26 01:03:46.920000  0.403296    1        53.64     1.343265e+09                 0.36          True       NaN       NaN          NaN       NaN\n",
       "..      ...        ...        ...        ...                          ...       ...  ...          ...              ...                  ...           ...       ...       ...          ...       ...\n",
       "58  tm_5.13  30.339648  40.716875   9.273438   2012-07-26 14:49:28.560000  0.231381    5       638.00     1.343314e+09               636.20          True       NaN       NaN          NaN       NaN\n",
       "59  tm_11.0  30.327686  40.600156  -1.974609  2012-07-26T15:06:20.160000Z  1.000000   11          NaN     1.343315e+09              1011.60          True  1.204434  0.549646    90.198577   1.38049\n",
       "60   tm_7.3  30.338672  40.716250   8.765625   2012-07-26 16:26:52.560000  0.250604    7     22768.84     1.343320e+09              4832.40          True       NaN       NaN          NaN       NaN\n",
       "61   tm_7.4  30.338672  40.716250   8.765625   2012-07-26 16:33:57.680000  0.171082    7       425.12     1.343320e+09               425.12          True       NaN       NaN          NaN       NaN\n",
       "62  tm_12.0  30.430000  40.720000  10.000000   2012-07-26 17:28:20.400000  1.000000   12          NaN     1.343324e+09              3262.72          True       NaN       NaN          NaN       NaN\n",
       "\n",
       "[63 rows x 15 columns]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tm_catalog = template_group.catalog.catalog.copy()\n",
    "tm_catalog.reset_index(inplace=True)\n",
    "for i in range(len(tm_catalog)):\n",
    "    tm_catalog.loc[i, \"event_id\"] = f\"tm_{tm_catalog.loc[i, 'event_id']}\"\n",
    "tm_catalog"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>origin_time</th>\n",
       "      <th>hmax_unc</th>\n",
       "      <th>hmin_unc</th>\n",
       "      <th>az_hmax_unc</th>\n",
       "      <th>vmax_unc</th>\n",
       "      <th>event_id.1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>event_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2012-07-26T01:10:21.800000Z</th>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:10:21.800</td>\n",
       "      <td>1.733366</td>\n",
       "      <td>1.182667</td>\n",
       "      <td>157.271635</td>\n",
       "      <td>2.640251</td>\n",
       "      <td>bp_0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T01:15:54.160000Z</th>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 01:15:54.160</td>\n",
       "      <td>2.070620</td>\n",
       "      <td>1.108417</td>\n",
       "      <td>90.435851</td>\n",
       "      <td>2.250307</td>\n",
       "      <td>bp_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T01:58:19.720000Z</th>\n",
       "      <td>30.210000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 01:58:19.720</td>\n",
       "      <td>0.968885</td>\n",
       "      <td>0.833068</td>\n",
       "      <td>11.277525</td>\n",
       "      <td>2.155680</td>\n",
       "      <td>bp_2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T02:35:01.160000Z</th>\n",
       "      <td>30.330000</td>\n",
       "      <td>40.700000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 02:35:01.160</td>\n",
       "      <td>4.140636</td>\n",
       "      <td>2.593994</td>\n",
       "      <td>72.951755</td>\n",
       "      <td>4.445532</td>\n",
       "      <td>bp_3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T03:00:39.160000Z</th>\n",
       "      <td>30.324023</td>\n",
       "      <td>40.715625</td>\n",
       "      <td>9.070312</td>\n",
       "      <td>2012-07-26 03:00:39.160</td>\n",
       "      <td>1.812523</td>\n",
       "      <td>1.146382</td>\n",
       "      <td>96.893951</td>\n",
       "      <td>3.431834</td>\n",
       "      <td>bp_4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T04:43:40.160000Z</th>\n",
       "      <td>30.350000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>8.500000</td>\n",
       "      <td>2012-07-26 04:43:40.160</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>bp_5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T04:48:38.640000Z</th>\n",
       "      <td>30.339648</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 04:48:38.640</td>\n",
       "      <td>2.689873</td>\n",
       "      <td>1.357818</td>\n",
       "      <td>77.828681</td>\n",
       "      <td>3.859434</td>\n",
       "      <td>bp_6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T08:08:25.680000Z</th>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 08:08:25.680</td>\n",
       "      <td>2.457855</td>\n",
       "      <td>1.324990</td>\n",
       "      <td>80.384442</td>\n",
       "      <td>3.851911</td>\n",
       "      <td>bp_7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T10:07:23.720000Z</th>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 10:07:23.720</td>\n",
       "      <td>1.642315</td>\n",
       "      <td>0.946182</td>\n",
       "      <td>93.504006</td>\n",
       "      <td>2.522272</td>\n",
       "      <td>bp_8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T11:55:35.520000Z</th>\n",
       "      <td>30.270000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2012-07-26 11:55:35.520</td>\n",
       "      <td>2.731442</td>\n",
       "      <td>1.437874</td>\n",
       "      <td>152.628773</td>\n",
       "      <td>3.716407</td>\n",
       "      <td>bp_9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T13:35:26.480000Z</th>\n",
       "      <td>30.295215</td>\n",
       "      <td>40.797812</td>\n",
       "      <td>-1.949219</td>\n",
       "      <td>2012-07-26 13:35:26.480</td>\n",
       "      <td>3.697239</td>\n",
       "      <td>0.998076</td>\n",
       "      <td>88.219160</td>\n",
       "      <td>5.458099</td>\n",
       "      <td>bp_10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T13:48:32.480000Z</th>\n",
       "      <td>30.315234</td>\n",
       "      <td>40.723750</td>\n",
       "      <td>11.609375</td>\n",
       "      <td>2012-07-26 13:48:32.480</td>\n",
       "      <td>1.429097</td>\n",
       "      <td>1.324683</td>\n",
       "      <td>34.905759</td>\n",
       "      <td>2.865370</td>\n",
       "      <td>bp_11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T13:51:58.200000Z</th>\n",
       "      <td>30.314258</td>\n",
       "      <td>40.713125</td>\n",
       "      <td>13.335938</td>\n",
       "      <td>2012-07-26 13:51:58.200</td>\n",
       "      <td>1.782372</td>\n",
       "      <td>1.640373</td>\n",
       "      <td>133.233003</td>\n",
       "      <td>3.765628</td>\n",
       "      <td>bp_12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T13:53:31.400000Z</th>\n",
       "      <td>30.311328</td>\n",
       "      <td>40.718750</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 13:53:31.400</td>\n",
       "      <td>1.557949</td>\n",
       "      <td>1.486866</td>\n",
       "      <td>36.010911</td>\n",
       "      <td>3.102796</td>\n",
       "      <td>bp_13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T13:56:54.320000Z</th>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 13:56:54.320</td>\n",
       "      <td>2.875005</td>\n",
       "      <td>1.242650</td>\n",
       "      <td>84.046297</td>\n",
       "      <td>2.869467</td>\n",
       "      <td>bp_14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T15:06:20.160000Z</th>\n",
       "      <td>30.326221</td>\n",
       "      <td>40.600156</td>\n",
       "      <td>-1.974609</td>\n",
       "      <td>2012-07-26 15:06:20.160</td>\n",
       "      <td>1.502012</td>\n",
       "      <td>0.491035</td>\n",
       "      <td>92.386020</td>\n",
       "      <td>0.880841</td>\n",
       "      <td>bp_15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-07-26T17:28:20.400000Z</th>\n",
       "      <td>30.430000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>2012-07-26 17:28:20.400</td>\n",
       "      <td>3.553327</td>\n",
       "      <td>1.468112</td>\n",
       "      <td>71.712055</td>\n",
       "      <td>5.997913</td>\n",
       "      <td>bp_16</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                             longitude   latitude      depth             origin_time   hmax_unc   hmin_unc  az_hmax_unc   vmax_unc event_id.1\n",
       "event_id                                                                                                                                     \n",
       "2012-07-26T01:10:21.800000Z  30.323047  40.731250  12.015625 2012-07-26 01:10:21.800   1.733366   1.182667   157.271635   2.640251       bp_0\n",
       "2012-07-26T01:15:54.160000Z  30.343555  40.716875   9.273438 2012-07-26 01:15:54.160   2.070620   1.108417    90.435851   2.250307       bp_1\n",
       "2012-07-26T01:58:19.720000Z  30.210000  40.600000  -1.500000 2012-07-26 01:58:19.720   0.968885   0.833068    11.277525   2.155680       bp_2\n",
       "2012-07-26T02:35:01.160000Z  30.330000  40.700000  -1.500000 2012-07-26 02:35:01.160   4.140636   2.593994    72.951755   4.445532       bp_3\n",
       "2012-07-26T03:00:39.160000Z  30.324023  40.715625   9.070312 2012-07-26 03:00:39.160   1.812523   1.146382    96.893951   3.431834       bp_4\n",
       "2012-07-26T04:43:40.160000Z  30.350000  40.720000   8.500000 2012-07-26 04:43:40.160  15.000000  15.000000     0.000000  15.000000       bp_5\n",
       "2012-07-26T04:48:38.640000Z  30.339648  40.716875   9.273438 2012-07-26 04:48:38.640   2.689873   1.357818    77.828681   3.859434       bp_6\n",
       "2012-07-26T08:08:25.680000Z  30.335742  40.720625   8.867188 2012-07-26 08:08:25.680   2.457855   1.324990    80.384442   3.851911       bp_7\n",
       "2012-07-26T10:07:23.720000Z  30.338672  40.716250   8.765625 2012-07-26 10:07:23.720   1.642315   0.946182    93.504006   2.522272       bp_8\n",
       "2012-07-26T11:55:35.520000Z  30.270000  40.600000   3.000000 2012-07-26 11:55:35.520   2.731442   1.437874   152.628773   3.716407       bp_9\n",
       "2012-07-26T13:35:26.480000Z  30.295215  40.797812  -1.949219 2012-07-26 13:35:26.480   3.697239   0.998076    88.219160   5.458099      bp_10\n",
       "2012-07-26T13:48:32.480000Z  30.315234  40.723750  11.609375 2012-07-26 13:48:32.480   1.429097   1.324683    34.905759   2.865370      bp_11\n",
       "2012-07-26T13:51:58.200000Z  30.314258  40.713125  13.335938 2012-07-26 13:51:58.200   1.782372   1.640373   133.233003   3.765628      bp_12\n",
       "2012-07-26T13:53:31.400000Z  30.311328  40.718750  12.015625 2012-07-26 13:53:31.400   1.557949   1.486866    36.010911   3.102796      bp_13\n",
       "2012-07-26T13:56:54.320000Z  30.337695  40.716875   8.867188 2012-07-26 13:56:54.320   2.875005   1.242650    84.046297   2.869467      bp_14\n",
       "2012-07-26T15:06:20.160000Z  30.326221  40.600156  -1.974609 2012-07-26 15:06:20.160   1.502012   0.491035    92.386020   0.880841      bp_15\n",
       "2012-07-26T17:28:20.400000Z  30.430000  40.720000  10.000000 2012-07-26 17:28:20.400   3.553327   1.468112    71.712055   5.997913      bp_16"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bp_catalog = pd.read_csv(\n",
    "    os.path.join(BPMF.cfg.OUTPUT_PATH, BACKPROJECTION_CATALOG_FILENAME),\n",
    "    index_col=0\n",
    ")\n",
    "# convert origin times from string to pandas.Timestamp\n",
    "bp_catalog[\"origin_time\"] = pd.to_datetime(bp_catalog[\"origin_time\"])\n",
    "bp_catalog"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# catalog merging parameters\n",
    "dt_criterion_pd = pd.Timedelta(DT_CRITERION_SEC, \"s\")\n",
    "HMAX_UNC_CRITERION_KM = 10."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Loop through BP cat: 100%|██████████| 17/17 [00:00<00:00, 1134.01it/s]\n"
     ]
    }
   ],
   "source": [
    "combined_catalog = tm_catalog.copy()\n",
    "missing_event = np.zeros(len(bp_catalog), dtype=bool)\n",
    "\n",
    "for i in tqdm(range(len(bp_catalog)), desc=\"Loop through BP cat\"):\n",
    "    if bp_catalog.iloc[i][\"hmax_unc\"] > HMAX_UNC_CRITERION_KM:\n",
    "        continue\n",
    "    t_min = bp_catalog.iloc[i][\"origin_time\"] - dt_criterion_pd\n",
    "    t_max = bp_catalog.iloc[i][\"origin_time\"] + dt_criterion_pd\n",
    "    subset_tm = (tm_catalog[\"origin_time\"] > t_min) & (tm_catalog[\"origin_time\"] < t_max)\n",
    "    if np.sum(subset_tm) == 0:\n",
    "        missing_event[i] = True\n",
    "\n",
    "combined_catalog = pd.concat(\n",
    "        (tm_catalog, bp_catalog[missing_event]),\n",
    "        ignore_index=True\n",
    "        )\n",
    "combined_catalog.sort_values(\n",
    "        \"origin_time\", ascending=True, inplace=True\n",
    "        )"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And here is the combined catalog! In this simple example, it appears that all events in the backprojection catalog were re-detected in the template matching catalog so that the final catalog has no extra events with respect to the template matching catalog. However, it may not be always like that. Some events in the backprojection catalog may not have been well enough located for you to use them as templates, and they may not have been subsequently re-detected in the template matching catalog."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>event_id</th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>origin_time</th>\n",
       "      <th>cc</th>\n",
       "      <th>tid</th>\n",
       "      <th>return_time</th>\n",
       "      <th>origin_time_sec</th>\n",
       "      <th>interevent_time_sec</th>\n",
       "      <th>unique_event</th>\n",
       "      <th>hmax_unc</th>\n",
       "      <th>hmin_unc</th>\n",
       "      <th>az_hmax_unc</th>\n",
       "      <th>vmax_unc</th>\n",
       "      <th>event_id.1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>tm_2.0</td>\n",
       "      <td>30.210000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 00:20:46.080000</td>\n",
       "      <td>0.355306</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343262e+09</td>\n",
       "      <td>0.00</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>tm_10.0</td>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 00:58:11.120000</td>\n",
       "      <td>0.342251</td>\n",
       "      <td>10.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>0.04</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>tm_0.1</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 00:58:16.160000</td>\n",
       "      <td>0.307403</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.52</td>\n",
       "      <td>1.343264e+09</td>\n",
       "      <td>5.04</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>tm_0.2</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:02:52.920000</td>\n",
       "      <td>0.283410</td>\n",
       "      <td>0.0</td>\n",
       "      <td>276.76</td>\n",
       "      <td>1.343265e+09</td>\n",
       "      <td>276.24</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>tm_1.3</td>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 01:03:46.920000</td>\n",
       "      <td>0.403296</td>\n",
       "      <td>1.0</td>\n",
       "      <td>53.64</td>\n",
       "      <td>1.343265e+09</td>\n",
       "      <td>0.36</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>tm_5.13</td>\n",
       "      <td>30.339648</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 14:49:28.560000</td>\n",
       "      <td>0.231381</td>\n",
       "      <td>5.0</td>\n",
       "      <td>638.00</td>\n",
       "      <td>1.343314e+09</td>\n",
       "      <td>636.20</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>tm_11.0</td>\n",
       "      <td>30.327686</td>\n",
       "      <td>40.600156</td>\n",
       "      <td>-1.974609</td>\n",
       "      <td>2012-07-26T15:06:20.160000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>11.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343315e+09</td>\n",
       "      <td>1011.60</td>\n",
       "      <td>True</td>\n",
       "      <td>1.204434</td>\n",
       "      <td>0.549646</td>\n",
       "      <td>90.198577</td>\n",
       "      <td>1.38049</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>tm_7.3</td>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 16:26:52.560000</td>\n",
       "      <td>0.250604</td>\n",
       "      <td>7.0</td>\n",
       "      <td>22768.84</td>\n",
       "      <td>1.343320e+09</td>\n",
       "      <td>4832.40</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>tm_7.4</td>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 16:33:57.680000</td>\n",
       "      <td>0.171082</td>\n",
       "      <td>7.0</td>\n",
       "      <td>425.12</td>\n",
       "      <td>1.343320e+09</td>\n",
       "      <td>425.12</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>tm_12.0</td>\n",
       "      <td>30.430000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>2012-07-26 17:28:20.400000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.343324e+09</td>\n",
       "      <td>3262.72</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>63 rows × 16 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   event_id  longitude   latitude      depth                  origin_time        cc   tid  return_time  origin_time_sec  interevent_time_sec unique_event  hmax_unc  hmin_unc  az_hmax_unc  vmax_unc event_id.1\n",
       "0    tm_2.0  30.210000  40.600000  -1.500000   2012-07-26 00:20:46.080000  0.355306   2.0          NaN     1.343262e+09                 0.00         True       NaN       NaN          NaN       NaN        NaN\n",
       "1   tm_10.0  30.337695  40.716875   8.867188   2012-07-26 00:58:11.120000  0.342251  10.0          NaN     1.343264e+09                 0.04         True       NaN       NaN          NaN       NaN        NaN\n",
       "2    tm_0.1  30.323047  40.731250  12.015625   2012-07-26 00:58:16.160000  0.307403   0.0         5.52     1.343264e+09                 5.04         True       NaN       NaN          NaN       NaN        NaN\n",
       "3    tm_0.2  30.323047  40.731250  12.015625   2012-07-26 01:02:52.920000  0.283410   0.0       276.76     1.343265e+09               276.24         True       NaN       NaN          NaN       NaN        NaN\n",
       "4    tm_1.3  30.343555  40.716875   9.273438   2012-07-26 01:03:46.920000  0.403296   1.0        53.64     1.343265e+09                 0.36         True       NaN       NaN          NaN       NaN        NaN\n",
       "..      ...        ...        ...        ...                          ...       ...   ...          ...              ...                  ...          ...       ...       ...          ...       ...        ...\n",
       "58  tm_5.13  30.339648  40.716875   9.273438   2012-07-26 14:49:28.560000  0.231381   5.0       638.00     1.343314e+09               636.20         True       NaN       NaN          NaN       NaN        NaN\n",
       "59  tm_11.0  30.327686  40.600156  -1.974609  2012-07-26T15:06:20.160000Z  1.000000  11.0          NaN     1.343315e+09              1011.60         True  1.204434  0.549646    90.198577   1.38049        NaN\n",
       "60   tm_7.3  30.338672  40.716250   8.765625   2012-07-26 16:26:52.560000  0.250604   7.0     22768.84     1.343320e+09              4832.40         True       NaN       NaN          NaN       NaN        NaN\n",
       "61   tm_7.4  30.338672  40.716250   8.765625   2012-07-26 16:33:57.680000  0.171082   7.0       425.12     1.343320e+09               425.12         True       NaN       NaN          NaN       NaN        NaN\n",
       "62  tm_12.0  30.430000  40.720000  10.000000   2012-07-26 17:28:20.400000  1.000000  12.0          NaN     1.343324e+09              3262.72         True       NaN       NaN          NaN       NaN        NaN\n",
       "\n",
       "[63 rows x 16 columns]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "combined_catalog"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this example, we see that two entries of the catalog end up pointing to the same event (see below):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>event_id</th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>origin_time</th>\n",
       "      <th>cc</th>\n",
       "      <th>tid</th>\n",
       "      <th>return_time</th>\n",
       "      <th>origin_time_sec</th>\n",
       "      <th>interevent_time_sec</th>\n",
       "      <th>unique_event</th>\n",
       "      <th>hmax_unc</th>\n",
       "      <th>hmin_unc</th>\n",
       "      <th>az_hmax_unc</th>\n",
       "      <th>vmax_unc</th>\n",
       "      <th>event_id.1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>tm_0.32</td>\n",
       "      <td>30.312305</td>\n",
       "      <td>40.719375</td>\n",
       "      <td>12.523438</td>\n",
       "      <td>2012-07-26T13:48:32.400000Z</td>\n",
       "      <td>0.193654</td>\n",
       "      <td>0.0</td>\n",
       "      <td>18.88</td>\n",
       "      <td>1.343311e+09</td>\n",
       "      <td>16.68</td>\n",
       "      <td>True</td>\n",
       "      <td>1.694781</td>\n",
       "      <td>1.424041</td>\n",
       "      <td>-159.166753</td>\n",
       "      <td>3.097528</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>tm_0.31</td>\n",
       "      <td>30.314258</td>\n",
       "      <td>40.721875</td>\n",
       "      <td>11.914062</td>\n",
       "      <td>2012-07-26T13:48:32.440000Z</td>\n",
       "      <td>0.733365</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20407.12</td>\n",
       "      <td>1.343311e+09</td>\n",
       "      <td>785.84</td>\n",
       "      <td>True</td>\n",
       "      <td>1.507701</td>\n",
       "      <td>1.363615</td>\n",
       "      <td>-142.318562</td>\n",
       "      <td>2.908710</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   event_id  longitude   latitude      depth                  origin_time        cc  tid  return_time  origin_time_sec  interevent_time_sec unique_event  hmax_unc  hmin_unc  az_hmax_unc  vmax_unc event_id.1\n",
       "51  tm_0.32  30.312305  40.719375  12.523438  2012-07-26T13:48:32.400000Z  0.193654  0.0        18.88     1.343311e+09                16.68         True  1.694781  1.424041  -159.166753  3.097528        NaN\n",
       "50  tm_0.31  30.314258  40.721875  11.914062  2012-07-26T13:48:32.440000Z  0.733365  0.0     20407.12     1.343311e+09               785.84         True  1.507701  1.363615  -142.318562  2.908710        NaN"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "combined_catalog[\n",
    "    (combined_catalog[\"origin_time\"] >= pd.Timestamp(\"2012-07-26T13:40:00\"))\n",
    "    &\n",
    "    (combined_catalog[\"origin_time\"] <= pd.Timestamp(\"2012-07-26T13:50:00\"))\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**versus** (before relocating each event individually)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>origin_time</th>\n",
       "      <th>cc</th>\n",
       "      <th>tid</th>\n",
       "      <th>return_time</th>\n",
       "      <th>origin_time_sec</th>\n",
       "      <th>interevent_time_sec</th>\n",
       "      <th>unique_event</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>event_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0.31</th>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.73125</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 13:48:32.320</td>\n",
       "      <td>0.733365</td>\n",
       "      <td>0</td>\n",
       "      <td>20407.12</td>\n",
       "      <td>1.343311e+09</td>\n",
       "      <td>785.84</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0.32</th>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.73125</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 13:48:51.200</td>\n",
       "      <td>0.193654</td>\n",
       "      <td>0</td>\n",
       "      <td>18.88</td>\n",
       "      <td>1.343311e+09</td>\n",
       "      <td>16.68</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          longitude  latitude      depth             origin_time        cc  tid  return_time  origin_time_sec  interevent_time_sec  unique_event\n",
       "event_id                                                                                                                                        \n",
       "0.31      30.323047  40.73125  12.015625 2012-07-26 13:48:32.320  0.733365    0     20407.12     1.343311e+09               785.84          True\n",
       "0.32      30.323047  40.73125  12.015625 2012-07-26 13:48:51.200  0.193654    0        18.88     1.343311e+09                16.68          True"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "initial_catalog[\n",
    "    (initial_catalog[\"origin_time\"] >= pd.Timestamp(\"2012-07-26T13:40:00\"))\n",
    "    &\n",
    "    (initial_catalog[\"origin_time\"] <= pd.Timestamp(\"2012-07-26T13:50:00\"))\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This is because, despite using the `use_apriori_picks=True`, the automatic picking ended up picking the event before `tm_0.33`. So, before I release a fix to this issue, we need to clean up these redundant catalog entries! And keep in mind that the initial template matching catalog might have better temporal resolution."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Last clean up"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------ Iteration 0 --------\n",
      "Removed 3 events. Examples:\n",
      "origin_time    2012-07-26T01:15:14.320000Z\n",
      "event_id                            tm_0.9\n",
      "longitude                        30.381641\n",
      "latitude                          40.72125\n",
      "Name: 10, dtype: object\n",
      "origin_time    2012-07-26T01:15:15.000000Z\n",
      "event_id                            tm_1.9\n",
      "longitude                        30.329883\n",
      "latitude                         40.714375\n",
      "Name: 11, dtype: object\n",
      "------ Iteration 1 --------\n",
      "Removed 0 events. Examples:\n"
     ]
    }
   ],
   "source": [
    "final_cat = combined_catalog.copy()\n",
    "final_cat[\"origin_time_sec\"] = (\n",
    "        final_cat[\"origin_time\"].values.astype(\"datetime64[ms]\").astype(\"float64\") / 1000.\n",
    "        )\n",
    "\n",
    "num_removed = -1\n",
    "iteration = 0\n",
    "while num_removed != 0:\n",
    "    print(f\"------ Iteration {iteration} --------\")\n",
    "    interevent_time_sec = (\n",
    "            final_cat[\"origin_time_sec\"].values[1:] - final_cat[\"origin_time_sec\"].values[:-1]\n",
    "            )\n",
    "    interevent_time_sec = np.hstack( (1000., interevent_time_sec) )\n",
    "    remove = np.zeros(len(final_cat), dtype=bool)\n",
    "    for i in np.where(interevent_time_sec < DT_CRITERION_SEC)[0]:\n",
    "        dist = BPMF.utils.two_point_epicentral_distance(\n",
    "                final_cat.iloc[i-1].longitude,\n",
    "                final_cat.iloc[i-1].latitude,\n",
    "                final_cat.iloc[i].longitude,\n",
    "                final_cat.iloc[i].latitude,\n",
    "                )\n",
    "        if dist < DISTANCE_CRITERION_KM:\n",
    "            if final_cat.iloc[i-1].hmax_unc < final_cat.iloc[i].hmax_unc:\n",
    "                remove[i] = True\n",
    "            else:\n",
    "                remove[i-1] = True\n",
    "    num_removed = np.sum(remove)\n",
    "    print(f\"Removed {num_removed} events. Examples:\")\n",
    "    if num_removed > 1:\n",
    "        removed_events = np.where(remove)[0]\n",
    "        print(final_cat[[\"origin_time\", \"event_id\", \"longitude\", \"latitude\"]].iloc[removed_events[0]])\n",
    "        if interevent_time_sec[removed_events[0]] < DT_CRITERION_SEC:\n",
    "            print(final_cat[[\"origin_time\", \"event_id\", \"longitude\",\n",
    "                \"latitude\"]].iloc[removed_events[0] - 1])\n",
    "        else:\n",
    "            print(final_cat[[\"origin_time\", \"event_id\", \"longitude\",\n",
    "                \"latitude\"]].iloc[removed_events[0] + 1])\n",
    "\n",
    "    final_cat = final_cat[~remove]\n",
    "    iteration += 1\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>event_id</th>\n",
       "      <th>longitude</th>\n",
       "      <th>latitude</th>\n",
       "      <th>depth</th>\n",
       "      <th>origin_time</th>\n",
       "      <th>cc</th>\n",
       "      <th>tid</th>\n",
       "      <th>return_time</th>\n",
       "      <th>hmax_unc</th>\n",
       "      <th>hmin_unc</th>\n",
       "      <th>az_hmax_unc</th>\n",
       "      <th>vmax_unc</th>\n",
       "      <th>event_id.1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>event_id</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>tm_2.0</th>\n",
       "      <td>tm_2.0</td>\n",
       "      <td>30.210000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 00:20:46.080000</td>\n",
       "      <td>0.355306</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_10.0</th>\n",
       "      <td>tm_10.0</td>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 00:58:11.120000</td>\n",
       "      <td>0.342251</td>\n",
       "      <td>10.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.1</th>\n",
       "      <td>tm_0.1</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 00:58:16.160000</td>\n",
       "      <td>0.307403</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.52</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.2</th>\n",
       "      <td>tm_0.2</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:02:52.920000</td>\n",
       "      <td>0.283410</td>\n",
       "      <td>0.0</td>\n",
       "      <td>276.76</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_1.3</th>\n",
       "      <td>tm_1.3</td>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 01:03:46.920000</td>\n",
       "      <td>0.403296</td>\n",
       "      <td>1.0</td>\n",
       "      <td>53.64</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.4</th>\n",
       "      <td>tm_0.4</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:09:15.880000</td>\n",
       "      <td>0.210914</td>\n",
       "      <td>0.0</td>\n",
       "      <td>329.32</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_10.3</th>\n",
       "      <td>tm_10.3</td>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 01:09:26</td>\n",
       "      <td>0.290443</td>\n",
       "      <td>10.0</td>\n",
       "      <td>338.96</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.6</th>\n",
       "      <td>tm_0.6</td>\n",
       "      <td>30.320117</td>\n",
       "      <td>40.729375</td>\n",
       "      <td>12.117188</td>\n",
       "      <td>2012-07-26T01:10:21.840000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>56.28</td>\n",
       "      <td>1.773194</td>\n",
       "      <td>1.296419</td>\n",
       "      <td>154.710273</td>\n",
       "      <td>2.652053</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_10.5</th>\n",
       "      <td>tm_10.5</td>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 01:10:44.080000</td>\n",
       "      <td>0.590581</td>\n",
       "      <td>10.0</td>\n",
       "      <td>21.76</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_1.7</th>\n",
       "      <td>tm_1.7</td>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 01:12:32.880000</td>\n",
       "      <td>0.315028</td>\n",
       "      <td>1.0</td>\n",
       "      <td>108.92</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_1.9</th>\n",
       "      <td>tm_1.9</td>\n",
       "      <td>30.329883</td>\n",
       "      <td>40.714375</td>\n",
       "      <td>8.664062</td>\n",
       "      <td>2012-07-26T01:15:15.000000Z</td>\n",
       "      <td>0.332720</td>\n",
       "      <td>1.0</td>\n",
       "      <td>7.56</td>\n",
       "      <td>5.705995</td>\n",
       "      <td>1.811602</td>\n",
       "      <td>109.473063</td>\n",
       "      <td>4.795679</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_1.11</th>\n",
       "      <td>tm_1.11</td>\n",
       "      <td>30.339648</td>\n",
       "      <td>40.718125</td>\n",
       "      <td>9.070312</td>\n",
       "      <td>2012-07-26T01:15:54.240000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.0</td>\n",
       "      <td>19.08</td>\n",
       "      <td>1.945561</td>\n",
       "      <td>1.118281</td>\n",
       "      <td>94.036371</td>\n",
       "      <td>2.438769</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.13</th>\n",
       "      <td>tm_0.13</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:16:29.640000</td>\n",
       "      <td>0.378459</td>\n",
       "      <td>0.0</td>\n",
       "      <td>35.84</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.14</th>\n",
       "      <td>tm_0.14</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:18:32.520000</td>\n",
       "      <td>0.279227</td>\n",
       "      <td>0.0</td>\n",
       "      <td>122.88</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_3.8</th>\n",
       "      <td>tm_3.8</td>\n",
       "      <td>30.330000</td>\n",
       "      <td>40.700000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 01:35:14.720000</td>\n",
       "      <td>0.257078</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1124.60</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_1.14</th>\n",
       "      <td>tm_1.14</td>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 01:39:53.680000</td>\n",
       "      <td>0.230187</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1280.80</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.16</th>\n",
       "      <td>tm_0.16</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 01:47:30.080000</td>\n",
       "      <td>0.201523</td>\n",
       "      <td>0.0</td>\n",
       "      <td>456.76</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.12</th>\n",
       "      <td>tm_6.12</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 01:52:27.960000</td>\n",
       "      <td>0.204428</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2034.96</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_1.15</th>\n",
       "      <td>tm_1.15</td>\n",
       "      <td>30.358203</td>\n",
       "      <td>40.693750</td>\n",
       "      <td>11.609375</td>\n",
       "      <td>2012-07-26T01:52:36.480000Z</td>\n",
       "      <td>0.395754</td>\n",
       "      <td>1.0</td>\n",
       "      <td>762.76</td>\n",
       "      <td>6.534589</td>\n",
       "      <td>2.600683</td>\n",
       "      <td>111.351147</td>\n",
       "      <td>5.330862</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_2.1</th>\n",
       "      <td>tm_2.1</td>\n",
       "      <td>30.210000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 01:58:19.720000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5853.64</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.18</th>\n",
       "      <td>tm_0.18</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 02:22:49.440000</td>\n",
       "      <td>0.301763</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1813.36</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_1.17</th>\n",
       "      <td>tm_1.17</td>\n",
       "      <td>30.343555</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 02:24:34.920000</td>\n",
       "      <td>0.467743</td>\n",
       "      <td>1.0</td>\n",
       "      <td>105.12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_3.11</th>\n",
       "      <td>tm_3.11</td>\n",
       "      <td>30.330000</td>\n",
       "      <td>40.700000</td>\n",
       "      <td>-1.500000</td>\n",
       "      <td>2012-07-26 02:35:01.160000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.0</td>\n",
       "      <td>626.12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_4.2</th>\n",
       "      <td>tm_4.2</td>\n",
       "      <td>30.350000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>8.500000</td>\n",
       "      <td>2012-07-26 02:43:23.080000</td>\n",
       "      <td>0.231139</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5557.32</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.21</th>\n",
       "      <td>tm_0.21</td>\n",
       "      <td>30.315234</td>\n",
       "      <td>40.713750</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26T03:00:38.720000Z</td>\n",
       "      <td>0.697115</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1537.84</td>\n",
       "      <td>1.639696</td>\n",
       "      <td>1.184815</td>\n",
       "      <td>93.276813</td>\n",
       "      <td>3.267438</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.18</th>\n",
       "      <td>tm_6.18</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 03:08:33.560000</td>\n",
       "      <td>0.411435</td>\n",
       "      <td>6.0</td>\n",
       "      <td>474.56</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.19</th>\n",
       "      <td>tm_6.19</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 03:10:55.080000</td>\n",
       "      <td>0.321954</td>\n",
       "      <td>6.0</td>\n",
       "      <td>141.52</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.24</th>\n",
       "      <td>tm_0.24</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 03:32:50.800000</td>\n",
       "      <td>0.172344</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1316.20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.25</th>\n",
       "      <td>tm_0.25</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 03:38:13.200000</td>\n",
       "      <td>0.196873</td>\n",
       "      <td>0.0</td>\n",
       "      <td>322.40</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.20</th>\n",
       "      <td>tm_6.20</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 04:30:33.560000</td>\n",
       "      <td>0.191620</td>\n",
       "      <td>6.0</td>\n",
       "      <td>4778.48</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_4.5</th>\n",
       "      <td>tm_4.5</td>\n",
       "      <td>30.350000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>8.500000</td>\n",
       "      <td>2012-07-26 04:43:40.160000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5704.84</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_10.19</th>\n",
       "      <td>tm_10.19</td>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 04:45:04</td>\n",
       "      <td>0.277363</td>\n",
       "      <td>10.0</td>\n",
       "      <td>5648.88</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_4.6</th>\n",
       "      <td>tm_4.6</td>\n",
       "      <td>30.350000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>8.500000</td>\n",
       "      <td>2012-07-26 04:46:51.080000</td>\n",
       "      <td>0.335807</td>\n",
       "      <td>4.0</td>\n",
       "      <td>190.92</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_5.5</th>\n",
       "      <td>tm_5.5</td>\n",
       "      <td>30.339648</td>\n",
       "      <td>40.718125</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26T04:48:38.640000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>5.0</td>\n",
       "      <td>109.32</td>\n",
       "      <td>2.810966</td>\n",
       "      <td>1.445601</td>\n",
       "      <td>81.508179</td>\n",
       "      <td>4.001420</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_4.8</th>\n",
       "      <td>tm_4.8</td>\n",
       "      <td>30.350000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>8.500000</td>\n",
       "      <td>2012-07-26 04:51:08.440000</td>\n",
       "      <td>0.354223</td>\n",
       "      <td>4.0</td>\n",
       "      <td>148.04</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.24</th>\n",
       "      <td>tm_6.24</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 05:22:04.480000</td>\n",
       "      <td>0.286994</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1857.76</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.25</th>\n",
       "      <td>tm_6.25</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 05:45:46.040000</td>\n",
       "      <td>0.182386</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1421.56</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.26</th>\n",
       "      <td>tm_6.26</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 05:46:59.280000</td>\n",
       "      <td>0.267265</td>\n",
       "      <td>6.0</td>\n",
       "      <td>73.24</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.27</th>\n",
       "      <td>tm_6.27</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 05:57:16.480000</td>\n",
       "      <td>0.211332</td>\n",
       "      <td>6.0</td>\n",
       "      <td>617.20</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.28</th>\n",
       "      <td>tm_6.28</td>\n",
       "      <td>30.322070</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26T08:08:25.760000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.0</td>\n",
       "      <td>7869.20</td>\n",
       "      <td>1.686887</td>\n",
       "      <td>1.440093</td>\n",
       "      <td>115.918392</td>\n",
       "      <td>4.267344</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_7.0</th>\n",
       "      <td>tm_7.0</td>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 09:21:39.400000</td>\n",
       "      <td>0.205630</td>\n",
       "      <td>7.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_7.1</th>\n",
       "      <td>tm_7.1</td>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 09:28:48.360000</td>\n",
       "      <td>0.174923</td>\n",
       "      <td>7.0</td>\n",
       "      <td>428.96</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_7.2</th>\n",
       "      <td>tm_7.2</td>\n",
       "      <td>30.339160</td>\n",
       "      <td>40.716563</td>\n",
       "      <td>8.816406</td>\n",
       "      <td>2012-07-26T10:07:23.720000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>7.0</td>\n",
       "      <td>2315.36</td>\n",
       "      <td>1.562172</td>\n",
       "      <td>0.962052</td>\n",
       "      <td>88.607279</td>\n",
       "      <td>2.582100</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.29</th>\n",
       "      <td>tm_6.29</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 10:16:45.800000</td>\n",
       "      <td>0.359092</td>\n",
       "      <td>6.0</td>\n",
       "      <td>7700.12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.30</th>\n",
       "      <td>tm_6.30</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 10:53:46.600000</td>\n",
       "      <td>0.235509</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2220.80</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_6.31</th>\n",
       "      <td>tm_6.31</td>\n",
       "      <td>30.335742</td>\n",
       "      <td>40.720625</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26 11:02:23.600000</td>\n",
       "      <td>0.350748</td>\n",
       "      <td>6.0</td>\n",
       "      <td>517.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_8.0</th>\n",
       "      <td>tm_8.0</td>\n",
       "      <td>30.270000</td>\n",
       "      <td>40.600000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2012-07-26 11:55:35.520000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>8.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_9.0</th>\n",
       "      <td>tm_9.0</td>\n",
       "      <td>30.294238</td>\n",
       "      <td>40.798437</td>\n",
       "      <td>-1.949219</td>\n",
       "      <td>2012-07-26T13:35:26.440000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>9.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.745895</td>\n",
       "      <td>0.968482</td>\n",
       "      <td>89.284110</td>\n",
       "      <td>5.686243</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.31</th>\n",
       "      <td>tm_0.31</td>\n",
       "      <td>30.314258</td>\n",
       "      <td>40.721875</td>\n",
       "      <td>11.914062</td>\n",
       "      <td>2012-07-26T13:48:32.440000Z</td>\n",
       "      <td>0.733365</td>\n",
       "      <td>0.0</td>\n",
       "      <td>20407.12</td>\n",
       "      <td>1.507701</td>\n",
       "      <td>1.363615</td>\n",
       "      <td>-142.318562</td>\n",
       "      <td>2.908710</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.33</th>\n",
       "      <td>tm_0.33</td>\n",
       "      <td>30.323047</td>\n",
       "      <td>40.731250</td>\n",
       "      <td>12.015625</td>\n",
       "      <td>2012-07-26 13:50:18.120000</td>\n",
       "      <td>0.342391</td>\n",
       "      <td>0.0</td>\n",
       "      <td>86.92</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_10.24</th>\n",
       "      <td>tm_10.24</td>\n",
       "      <td>30.312305</td>\n",
       "      <td>40.710625</td>\n",
       "      <td>13.539062</td>\n",
       "      <td>2012-07-26T13:51:58.160000Z</td>\n",
       "      <td>0.536160</td>\n",
       "      <td>10.0</td>\n",
       "      <td>100.08</td>\n",
       "      <td>1.931911</td>\n",
       "      <td>1.742724</td>\n",
       "      <td>148.924871</td>\n",
       "      <td>3.534384</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_0.35</th>\n",
       "      <td>tm_0.35</td>\n",
       "      <td>30.308398</td>\n",
       "      <td>40.718125</td>\n",
       "      <td>12.320312</td>\n",
       "      <td>2012-07-26T13:53:31.360000Z</td>\n",
       "      <td>0.757365</td>\n",
       "      <td>0.0</td>\n",
       "      <td>93.04</td>\n",
       "      <td>1.599465</td>\n",
       "      <td>1.394841</td>\n",
       "      <td>-155.245910</td>\n",
       "      <td>2.957749</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_10.26</th>\n",
       "      <td>tm_10.26</td>\n",
       "      <td>30.351367</td>\n",
       "      <td>40.721875</td>\n",
       "      <td>7.648438</td>\n",
       "      <td>2012-07-26T13:54:54.240000Z</td>\n",
       "      <td>0.408196</td>\n",
       "      <td>10.0</td>\n",
       "      <td>82.60</td>\n",
       "      <td>5.043594</td>\n",
       "      <td>1.996250</td>\n",
       "      <td>88.523582</td>\n",
       "      <td>6.411122</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_10.27</th>\n",
       "      <td>tm_10.27</td>\n",
       "      <td>30.337695</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>8.867188</td>\n",
       "      <td>2012-07-26T13:56:54.320000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>10.0</td>\n",
       "      <td>120.04</td>\n",
       "      <td>2.772472</td>\n",
       "      <td>1.282198</td>\n",
       "      <td>83.034589</td>\n",
       "      <td>2.490108</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_4.14</th>\n",
       "      <td>tm_4.14</td>\n",
       "      <td>30.350000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>8.500000</td>\n",
       "      <td>2012-07-26 14:38:52.360000</td>\n",
       "      <td>0.257913</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2718.96</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_5.13</th>\n",
       "      <td>tm_5.13</td>\n",
       "      <td>30.339648</td>\n",
       "      <td>40.716875</td>\n",
       "      <td>9.273438</td>\n",
       "      <td>2012-07-26 14:49:28.560000</td>\n",
       "      <td>0.231381</td>\n",
       "      <td>5.0</td>\n",
       "      <td>638.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_11.0</th>\n",
       "      <td>tm_11.0</td>\n",
       "      <td>30.327686</td>\n",
       "      <td>40.600156</td>\n",
       "      <td>-1.974609</td>\n",
       "      <td>2012-07-26T15:06:20.160000Z</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>11.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.204434</td>\n",
       "      <td>0.549646</td>\n",
       "      <td>90.198577</td>\n",
       "      <td>1.380490</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_7.3</th>\n",
       "      <td>tm_7.3</td>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 16:26:52.560000</td>\n",
       "      <td>0.250604</td>\n",
       "      <td>7.0</td>\n",
       "      <td>22768.84</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_7.4</th>\n",
       "      <td>tm_7.4</td>\n",
       "      <td>30.338672</td>\n",
       "      <td>40.716250</td>\n",
       "      <td>8.765625</td>\n",
       "      <td>2012-07-26 16:33:57.680000</td>\n",
       "      <td>0.171082</td>\n",
       "      <td>7.0</td>\n",
       "      <td>425.12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tm_12.0</th>\n",
       "      <td>tm_12.0</td>\n",
       "      <td>30.430000</td>\n",
       "      <td>40.720000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>2012-07-26 17:28:20.400000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          event_id  longitude   latitude      depth                  origin_time        cc   tid  return_time  hmax_unc  hmin_unc  az_hmax_unc  vmax_unc event_id.1\n",
       "event_id                                                                                                                                                           \n",
       "tm_2.0      tm_2.0  30.210000  40.600000  -1.500000   2012-07-26 00:20:46.080000  0.355306   2.0          NaN       NaN       NaN          NaN       NaN        NaN\n",
       "tm_10.0    tm_10.0  30.337695  40.716875   8.867188   2012-07-26 00:58:11.120000  0.342251  10.0          NaN       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.1      tm_0.1  30.323047  40.731250  12.015625   2012-07-26 00:58:16.160000  0.307403   0.0         5.52       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.2      tm_0.2  30.323047  40.731250  12.015625   2012-07-26 01:02:52.920000  0.283410   0.0       276.76       NaN       NaN          NaN       NaN        NaN\n",
       "tm_1.3      tm_1.3  30.343555  40.716875   9.273438   2012-07-26 01:03:46.920000  0.403296   1.0        53.64       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.4      tm_0.4  30.323047  40.731250  12.015625   2012-07-26 01:09:15.880000  0.210914   0.0       329.32       NaN       NaN          NaN       NaN        NaN\n",
       "tm_10.3    tm_10.3  30.337695  40.716875   8.867188          2012-07-26 01:09:26  0.290443  10.0       338.96       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.6      tm_0.6  30.320117  40.729375  12.117188  2012-07-26T01:10:21.840000Z  1.000000   0.0        56.28  1.773194  1.296419   154.710273  2.652053        NaN\n",
       "tm_10.5    tm_10.5  30.337695  40.716875   8.867188   2012-07-26 01:10:44.080000  0.590581  10.0        21.76       NaN       NaN          NaN       NaN        NaN\n",
       "tm_1.7      tm_1.7  30.343555  40.716875   9.273438   2012-07-26 01:12:32.880000  0.315028   1.0       108.92       NaN       NaN          NaN       NaN        NaN\n",
       "tm_1.9      tm_1.9  30.329883  40.714375   8.664062  2012-07-26T01:15:15.000000Z  0.332720   1.0         7.56  5.705995  1.811602   109.473063  4.795679        NaN\n",
       "tm_1.11    tm_1.11  30.339648  40.718125   9.070312  2012-07-26T01:15:54.240000Z  1.000000   1.0        19.08  1.945561  1.118281    94.036371  2.438769        NaN\n",
       "tm_0.13    tm_0.13  30.323047  40.731250  12.015625   2012-07-26 01:16:29.640000  0.378459   0.0        35.84       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.14    tm_0.14  30.323047  40.731250  12.015625   2012-07-26 01:18:32.520000  0.279227   0.0       122.88       NaN       NaN          NaN       NaN        NaN\n",
       "tm_3.8      tm_3.8  30.330000  40.700000  -1.500000   2012-07-26 01:35:14.720000  0.257078   3.0      1124.60       NaN       NaN          NaN       NaN        NaN\n",
       "tm_1.14    tm_1.14  30.343555  40.716875   9.273438   2012-07-26 01:39:53.680000  0.230187   1.0      1280.80       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.16    tm_0.16  30.323047  40.731250  12.015625   2012-07-26 01:47:30.080000  0.201523   0.0       456.76       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.12    tm_6.12  30.335742  40.720625   8.867188   2012-07-26 01:52:27.960000  0.204428   6.0      2034.96       NaN       NaN          NaN       NaN        NaN\n",
       "tm_1.15    tm_1.15  30.358203  40.693750  11.609375  2012-07-26T01:52:36.480000Z  0.395754   1.0       762.76  6.534589  2.600683   111.351147  5.330862        NaN\n",
       "tm_2.1      tm_2.1  30.210000  40.600000  -1.500000   2012-07-26 01:58:19.720000  1.000000   2.0      5853.64       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.18    tm_0.18  30.323047  40.731250  12.015625   2012-07-26 02:22:49.440000  0.301763   0.0      1813.36       NaN       NaN          NaN       NaN        NaN\n",
       "tm_1.17    tm_1.17  30.343555  40.716875   9.273438   2012-07-26 02:24:34.920000  0.467743   1.0       105.12       NaN       NaN          NaN       NaN        NaN\n",
       "tm_3.11    tm_3.11  30.330000  40.700000  -1.500000   2012-07-26 02:35:01.160000  1.000000   3.0       626.12       NaN       NaN          NaN       NaN        NaN\n",
       "tm_4.2      tm_4.2  30.350000  40.720000   8.500000   2012-07-26 02:43:23.080000  0.231139   4.0      5557.32       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.21    tm_0.21  30.315234  40.713750  12.015625  2012-07-26T03:00:38.720000Z  0.697115   0.0      1537.84  1.639696  1.184815    93.276813  3.267438        NaN\n",
       "tm_6.18    tm_6.18  30.335742  40.720625   8.867188   2012-07-26 03:08:33.560000  0.411435   6.0       474.56       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.19    tm_6.19  30.335742  40.720625   8.867188   2012-07-26 03:10:55.080000  0.321954   6.0       141.52       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.24    tm_0.24  30.323047  40.731250  12.015625   2012-07-26 03:32:50.800000  0.172344   0.0      1316.20       NaN       NaN          NaN       NaN        NaN\n",
       "tm_0.25    tm_0.25  30.323047  40.731250  12.015625   2012-07-26 03:38:13.200000  0.196873   0.0       322.40       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.20    tm_6.20  30.335742  40.720625   8.867188   2012-07-26 04:30:33.560000  0.191620   6.0      4778.48       NaN       NaN          NaN       NaN        NaN\n",
       "tm_4.5      tm_4.5  30.350000  40.720000   8.500000   2012-07-26 04:43:40.160000  1.000000   4.0      5704.84       NaN       NaN          NaN       NaN        NaN\n",
       "tm_10.19  tm_10.19  30.337695  40.716875   8.867188          2012-07-26 04:45:04  0.277363  10.0      5648.88       NaN       NaN          NaN       NaN        NaN\n",
       "tm_4.6      tm_4.6  30.350000  40.720000   8.500000   2012-07-26 04:46:51.080000  0.335807   4.0       190.92       NaN       NaN          NaN       NaN        NaN\n",
       "tm_5.5      tm_5.5  30.339648  40.718125   9.273438  2012-07-26T04:48:38.640000Z  1.000000   5.0       109.32  2.810966  1.445601    81.508179  4.001420        NaN\n",
       "tm_4.8      tm_4.8  30.350000  40.720000   8.500000   2012-07-26 04:51:08.440000  0.354223   4.0       148.04       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.24    tm_6.24  30.335742  40.720625   8.867188   2012-07-26 05:22:04.480000  0.286994   6.0      1857.76       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.25    tm_6.25  30.335742  40.720625   8.867188   2012-07-26 05:45:46.040000  0.182386   6.0      1421.56       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.26    tm_6.26  30.335742  40.720625   8.867188   2012-07-26 05:46:59.280000  0.267265   6.0        73.24       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.27    tm_6.27  30.335742  40.720625   8.867188   2012-07-26 05:57:16.480000  0.211332   6.0       617.20       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.28    tm_6.28  30.322070  40.720625   8.867188  2012-07-26T08:08:25.760000Z  1.000000   6.0      7869.20  1.686887  1.440093   115.918392  4.267344        NaN\n",
       "tm_7.0      tm_7.0  30.338672  40.716250   8.765625   2012-07-26 09:21:39.400000  0.205630   7.0          NaN       NaN       NaN          NaN       NaN        NaN\n",
       "tm_7.1      tm_7.1  30.338672  40.716250   8.765625   2012-07-26 09:28:48.360000  0.174923   7.0       428.96       NaN       NaN          NaN       NaN        NaN\n",
       "tm_7.2      tm_7.2  30.339160  40.716563   8.816406  2012-07-26T10:07:23.720000Z  1.000000   7.0      2315.36  1.562172  0.962052    88.607279  2.582100        NaN\n",
       "tm_6.29    tm_6.29  30.335742  40.720625   8.867188   2012-07-26 10:16:45.800000  0.359092   6.0      7700.12       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.30    tm_6.30  30.335742  40.720625   8.867188   2012-07-26 10:53:46.600000  0.235509   6.0      2220.80       NaN       NaN          NaN       NaN        NaN\n",
       "tm_6.31    tm_6.31  30.335742  40.720625   8.867188   2012-07-26 11:02:23.600000  0.350748   6.0       517.00       NaN       NaN          NaN       NaN        NaN\n",
       "tm_8.0      tm_8.0  30.270000  40.600000   3.000000   2012-07-26 11:55:35.520000  1.000000   8.0          NaN       NaN       NaN          NaN       NaN        NaN\n",
       "tm_9.0      tm_9.0  30.294238  40.798437  -1.949219  2012-07-26T13:35:26.440000Z  1.000000   9.0          NaN  3.745895  0.968482    89.284110  5.686243        NaN\n",
       "tm_0.31    tm_0.31  30.314258  40.721875  11.914062  2012-07-26T13:48:32.440000Z  0.733365   0.0     20407.12  1.507701  1.363615  -142.318562  2.908710        NaN\n",
       "tm_0.33    tm_0.33  30.323047  40.731250  12.015625   2012-07-26 13:50:18.120000  0.342391   0.0        86.92       NaN       NaN          NaN       NaN        NaN\n",
       "tm_10.24  tm_10.24  30.312305  40.710625  13.539062  2012-07-26T13:51:58.160000Z  0.536160  10.0       100.08  1.931911  1.742724   148.924871  3.534384        NaN\n",
       "tm_0.35    tm_0.35  30.308398  40.718125  12.320312  2012-07-26T13:53:31.360000Z  0.757365   0.0        93.04  1.599465  1.394841  -155.245910  2.957749        NaN\n",
       "tm_10.26  tm_10.26  30.351367  40.721875   7.648438  2012-07-26T13:54:54.240000Z  0.408196  10.0        82.60  5.043594  1.996250    88.523582  6.411122        NaN\n",
       "tm_10.27  tm_10.27  30.337695  40.716875   8.867188  2012-07-26T13:56:54.320000Z  1.000000  10.0       120.04  2.772472  1.282198    83.034589  2.490108        NaN\n",
       "tm_4.14    tm_4.14  30.350000  40.720000   8.500000   2012-07-26 14:38:52.360000  0.257913   4.0      2718.96       NaN       NaN          NaN       NaN        NaN\n",
       "tm_5.13    tm_5.13  30.339648  40.716875   9.273438   2012-07-26 14:49:28.560000  0.231381   5.0       638.00       NaN       NaN          NaN       NaN        NaN\n",
       "tm_11.0    tm_11.0  30.327686  40.600156  -1.974609  2012-07-26T15:06:20.160000Z  1.000000  11.0          NaN  1.204434  0.549646    90.198577  1.380490        NaN\n",
       "tm_7.3      tm_7.3  30.338672  40.716250   8.765625   2012-07-26 16:26:52.560000  0.250604   7.0     22768.84       NaN       NaN          NaN       NaN        NaN\n",
       "tm_7.4      tm_7.4  30.338672  40.716250   8.765625   2012-07-26 16:33:57.680000  0.171082   7.0       425.12       NaN       NaN          NaN       NaN        NaN\n",
       "tm_12.0    tm_12.0  30.430000  40.720000  10.000000   2012-07-26 17:28:20.400000  1.000000  12.0          NaN       NaN       NaN          NaN       NaN        NaN"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "final_cat.set_index(\"event_id\", drop=False, inplace=True)\n",
    "final_cat.drop(columns=[\"interevent_time_sec\", \"unique_event\", \"origin_time_sec\"], inplace=True)\n",
    "final_cat.sort_values(\"origin_time\", ascending=True, inplace=True)\n",
    "final_cat"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Save final catalog"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "# csv format\n",
    "final_cat.to_csv(\n",
    "    os.path.join(BPMF.cfg.OUTPUT_PATH, OUTPUT_CSV_FILENAME)\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "# hdf5 / BPMF format\n",
    "for i in range(len(final_cat)):\n",
    "    evid = final_cat.iloc[i][\"event_id\"]\n",
    "    if evid[:2] == \"tm\":\n",
    "        events[evid.split(\"_\")[1]].write(\n",
    "            OUTPUT_DB_FILENAME,\n",
    "            db_path=BPMF.cfg.OUTPUT_PATH,\n",
    "            gid=evid\n",
    "        )\n",
    "    elif evid[:2] == \"bp\":\n",
    "        with h5.File(os.path.join(BPMF.cfg.OUTPUT_PATH, OUTPUT_DB_FILENAME), mode=\"a\") as fout:\n",
    "            with h5.File(os.path.join(BPMF.cfg.OUTPUT_PATH, BACKPROJ_DB_FILENAME), mode=\"r\") as fin:\n",
    "                # copy the corresponding hdf5 group into fout\n",
    "                fin.copy(fin[evid], fout)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n",
      "    ⠀⠀⠀⠀⠀⠀⢀⡤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀\n",
      "    ⠀⠀⠀⠀⠀⢀⡏⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⣀⠴⠋⠉⠉⡆⠀⠀⠀⠀⠀\n",
      "    ⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠈⠉⠉⠙⠓⠚⠁⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀\n",
      "    ⠀⠀⠀⠀⢀⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣄⠀⠀⠀⠀\n",
      "    ⠀⠀⠀⠀⡞⠀⠀⠀⠀⠀⠶⠀⠀⠀⠀⠀⠀⠦⠀⠀⠀⠀⠀⠸⡆⠀⠀⠀\n",
      "    ⢠⣤⣶⣾⣧⣤⣤⣀⡀⠀⠀⠀⠀⠈⠀⠀⠀⢀⡤⠴⠶⠤⢤⡀⣧⣀⣀⠀\n",
      "    ⠻⠶⣾⠁⠀⠀⠀⠀⠙⣆⠀⠀⠀⠀⠀⠀⣰⠋⠀⠀⠀⠀⠀⢹⣿⣭⣽⠇\n",
      "    ⠀⠀⠙⠤⠴⢤⡤⠤⠤⠋⠉⠉⠉⠉⠉⠉⠉⠳⠖⠦⠤⠶⠦⠞⠁⠀⠀⠀\n",
      "                ⠀ALL DONE!⠀⠀⠀\n",
      "    \n"
     ]
    }
   ],
   "source": [
    "# The final cat!\n",
    "BPMF.utils.donefun()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "hy7_py310",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.4"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
